Add ability to set annotations from the command line.

Added command line function for setting annotations. This works with the user passing a JSON string as annotations, which must evaluate to a dict.

Some missing components:

1. Should check type of each annotation to make sure it's allowed (string, int, float, lists).
2. Doesn't handle dates (as no JSON does). I've seen a number of options (e.g. {'mydate': Date(2012-08-07T07:47:46Z)'}, and then using a regex to parse the dates.

Feedback would be much appreciated.
change overwrite to update - if keys already exist, then stores passed values