Refactor subscriptions.py

- Uses decorators to abstract out code common to each command
- Can conceptually support subscriptions for multiple services
- Sends extra data to the server. Currently, just the username
  of the process the script is being run as
- Add a 'description' paramter to teh add subcommand
- Proper help added for commandline parameters

Change-Id: I6bfa61539465fd1b0b1fe89eb83554e061985512