Create zip files of projects and download them; various improvements

Also:
 - Licenses are now in a new module called :shared-data
 - Project*Resource classes have been replaced with a single ProjectResource
   class
 - ProjectModel now includes a BuildStatus property
 - Parameter now has a generic type <T> whose value property must be an
   an instance of T
 - DataAccessObject.get(UUID) returns a nullable type
 - Errors no longer require a Class for reflective URI processing, but rather
   Parameter hosts an UriInfo instance
 - Introduce NotFoundException
 - New endpoint: /project/options that lists variables that can be used in
   /project/options/{option}