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.