An effort to abstract query parameters so that the resources inform
the system itself how the API is exposed. Could be the first step in
making our API self-describing.
- Deprecated Browse, it was serving only as an abstraction layer
for Criteria.
- The Criteria service now provides several lambda builders to assist
in the generation of search criteria. Filtering criteria against a
resource, mapping criteria against parameters, and generating search
lambdas.
- Search Criteria controller now has an initialization method that
allows you to configure it at runtime to the resource it's supposed to
provide search criteria for.
- Criteria Tag Item has been split out to be more generic.
- Managing criteria has been delegated to the resource itself. Now
it falls to Project, Story, etc. to inform the system what fields
it accepts as query parameters.
- Common text criteria resolver has been added.
- Header controller has been switched to use new Resource Criteria API.
- Stories may now be queried on the Story Status field.
- Services are now generated via a service factory rather than by
using storyboardApiSignature.
- Search is now handled via the resource.search() method.
Change-Id: I1e355320c90f7cdc8cb6ee2191fe819ff7094665