- Add `getGroupsAbridged` which returns a subset of group data for dropdowns and other places where all groups are listed
- Remove unnecessary checks for `canSeeGroup` in `groups.scala.html` since all users can see all groups
- Move `ZoneController` initialization in `manageZone.scala.html` to higher level to avoid waiting for groups to load when expanding the select box
- Add `PreparePortalHook` to automatically run `prepare-portal.sh` when `project porta; run` is executed
- Simplify build config
- Add TTY check to Makefiles for running Docker containers
- Update `fs2` to latest patch
- Update `sbt-assembly` plugin
- Update portal to remove chatty console
- Update portal scripts to add license header
- Update prepare-portal/Gruntfile to combine js and css where applicable
- Remove unused gentelella files from final portal artifact
- Add support for shared zones to quickstart/docker images
- Consolidate built artifacts in `artifacts/` to make eventual release easier
Fixes#964
- Updated the `ZoneConnection` model to allow specifying the key algorithm.
- Added an `Algorithm` to the protobuf file, defaults to HMAC-MD5
- Updated JSON serialization to serdes the algorithm
- Updated the Portal to allow the user to specify the algorithm when connecting to a zone or managing a zone
Supported algorithms are:
```
case object HMAC_MD5 extends Algorithm("HMAC-MD5.SIG-ALG.REG.INT")
case object HMAC_SHA1 extends Algorithm("hmac-sha1.")
case object HMAC_SHA224 extends Algorithm("hmac-sha224.")
case object HMAC_SHA256 extends Algorithm("hmac-sha256")
case object HMAC_SHA384 extends Algorithm("hmac-sha384.")
case object HMAC_SHA512 extends Algorithm("hmac-sha512.")
```
**Note: needs some tests**