Support User Defined Meta-Data on Nodes

Now supports arbitrary meta-data associated with nodes using the
`set-node-metadata` and `clear-node-metadata` commands.

Metadata are simple key => value pairs.

Added a new `meta` keyword to the Matcher syntax that works exactly the
same as `fact` but will allow the matcher to use the metadata.

Modifying the metadata of a node will cause the nodes tags to be
refreshed in the background.

Added a db migration step to add the `meta_data` column to the nodes
table.
Adding SVC API and Corresponding helper

Added helper store_metadata_url for use in installer templates and
added the corresponding route.

Special note, for any helper/svc route, if the URL generated includes
any &'s, the a curl command in an installer must have the whole url
quoted.  Also using []'s in the uri (for submitting multiple params of
the same name and then being able to retrieve the array), the []'s need
to be escaped.
Add some Update/Remove Metadata Shortcut Commands

modify-node-metadata requires a complex datastructure to work even to
update or remove a single key.  These commands provide a shortcut for
doing simple stuff.

Signed-off-by: Daniel Pittman <daniel@rimspace.net>