* Make contractsDslDir return null if neither directory exists at task configuration time
* Fixup docs type and make the wording a little more clear
* Allow username to be null for ls-remote command.
* Rework git commit id discovery to handle multiple uri schemes as well as fixing the bug with the MapProperty becoming finalized on first read and then not being able to further edit it (eg: in order to add git.commit)