* feat: [CDE-572]: Using features for devcontainers. Adding changes to parse features from the devcontainer.json and build a new docker image from them. Also adding the support for new devcontainer.json properties- init, privileged, capAdd, securityOpt, mounts. Adding support for three runArgs- privileged, capAdd, mount. Also making the DownloadFeature method context aware, cancelling the goroutines when the ctx is cancelled.
* feat: [CDE-573]: refactor to reduce number of utils.
* feat: [CDE-573]: refactor to reduce number of abstractions and modules.
* feat: [CDE-573]: refactor to reduce number of abstractions and modules.
* feat: [CDE-573]: refactor to reduce number of abstractions and modules.
* Adding support for root as remoteUser
* Changing logger from gitspace to application in config util.
* Changing logger from gitspace to application in config util.
* feat: [CDE-473]: Adding support for containerUser and remoteUser.
* feat: [CDE-192]: added TODO to move to user int as key
* feat: [CDE-192]: added created by col for gitspace config
* feat: [CDE-192]: added created by col for gitspace config
* feat: [CDE-192]: added created by col for gitspace config
* feat: [CDE-192]: added created by col for gitspace config
* feat: [CDE-192]: wire principal info cache
* feat: [CDE-192]: show user info for gitspace listing.
* feat: [CDE-192]: show user info for gitspace listing.
* feat: [CDE:220]: Adding util method to get working dir from repo name.
* feat: [CDE:220]: Addressing review comments.
* feat: [CDE-220]: Adding gitspace instance identifier to infra provisioning. Adding checks to ensure infra status is always same as required. Adding infra status type error enum. Adding util method to derive gitspace container name. Cleaning parameters to use values instead of references. Refactoring fields for infra struct to make them more explicit. Adding config to read agent port and pass it on to infra provider for provisioning and finding.