Support optional arguments

The following code supports:

* Aliases/defaults in fabric.
* Optional arguments to @notify

The only two arguments supported so far:

metric=True/False:  Adds a metric event with the name of the task.
print_args=True/False: Prints the arguments passed into the task in the event.