Fixes for API list stickiness

Returning to the API list page caused the versions to no longer be present in
the links. On inspection, it was never clear why they were _ever_ present
properly.

Made some fixes to the HAL service to ensure that stripping links and embedded
resources in arrays of resources works properly, which was one source of
problems.

Removed the "ApiListController", as it isn't currently used.

Updated the "ApiController" to no longer accept the apis list, and instead fetch
it on first load; subsequent calls will use cached data, unless something
triggers a list update. The "default_version" property of each API is used to
create the links if no versions are present in the API.
[#142] Resolves RPC controller versioning issue

- Versioning was not considering the "controllers" configuration, and, as such,
  was not versioning RPC controller service names. This led to 2 situations:

  - The controller service name for the new version of the RPC service did not
    exist in configuration, meaning it could not actually be reached.
  - As an offshoot, the controller class could not be determined, and thus was
    not returned by the API -- leading to a situation where the "source code"
    tab was unable to produce links to view the controller class (even though
    the class itself existed).
Rebuilt UI distribution
Merge branch 'hotfix/ui-state-stickiness'

Fixes #142