COOPR-496 add links to the cluster template that can point to
various useful service UIs. Services and cluster templates have
a links field that consists of an array of links, where a link
is a label and a url. The url can contain macros. When a cluster
is fetched from the rest api, links in the cluster template are
expanded and placed at the top level of the returned object.
In addition, for every node in the cluster, the links for all
services on the node are taken, expanded, and combined into a list
of links for the node.
fix in case chosen template has no constraints
ddtc input-group
scaffold services
scaffold services
update dependencies
angular 1.2.26
gulp rev
missing semicolon
gulp distribute
readme updated
fix directive test
minify before manifest
Merge pull request #642 from caskdata/gaarf

ngui rev-tagged static assets + more
COOPR-496 adding a getter for service links on a node and
using constants instead of creating new type tokens every time
deserialization of an object happens.
Merge pull request #638 from caskdata/feature/COOPR-496-cluster-links

COOPR-496 add links to the cluster template that can point to
COOPR-513 adding label as a field to providers, hardwaretypes,
imagetypes, services, and cluster templates. Also doing some
refactoring so they all share the same code for common fields.
COOPR-324 make sure all system generated hostnames have labels
that do not exceed 63 characters.
Also lowercasing the entire hostname for consistency since they
should be case insensitive anyway.
remove unused comment.
COOPR-324 strip leading digits from hostnames to make it a bit
easier for plugin writers who may rely on older code that thinks
it is not ok for a hostname to start with a digit.