support for cron and scaling in `azure mobile`, assorted bug fixes

This adds `azure mobile scale` to manage scaling of an azure mobile service, and `azure mobile job` to manage CRON jobs. it also has a number of minor bug fixes. 

azure mobile scale
===

```
azure mobile scale
help:    Commands to scale your Azure mobile service
help:
help:    Show the scalability settings of a mobile service
help:      mobile scale show [options] [servicename]
help:
help:    Change the scalability settings of a mobile service
help:      mobile scale change [options] [servicename]
help:
help:    Options:
help:      -h, --help     output usage information
help:      -v, --verbose  use verbose output
help:      --json         use json output
```

To show current scalability settings:

```
azure mobile scale show zumocli202
info:    Executing command mobile scale show
data:    webspace WESTUSWEBSPACE
data:    computeMode Free
data:    numberOfInstances 1
info:    mobile scale show command OK
```

To change the scalability settings:

```
azure mobile scale change -h
help:    Change the scalability settings of a mobile service
help:
help:    Usage: mobile scale change [options] [servicename]
help:
help:    Options:
help:      -h, --help                       output usage information
help:      -s, --subscription <id>          use the subscription id
help:      -c, --computeMode <mode>         choose Free or Reserved compute mode
help:      -i, --numberOfInstances <count>  number of instances in Dedicated mode
help:      -v, --verbose                    use verbose output
help:      --json                           use json output
```

e.g, to switch to 2 instances in reserved mode:

```
azure mobile scale change zumocli202 -c Reserved -i 2
```

azure mobile job
===

The `azure mobile job` command only manages metadata of the CRON jobs. To manipulate CRON scripts, one has to use already existing `azure mobile script ` command.

```
azure mobile job -h
help:    Commands to manage your Azure mobile service scheduled jobs
help:
help:    List mobile service scheduled jobs
help:      mobile job list [options] [servicename]
help:
help:    Create a mobile service scheduled job
help:      mobile job create [options] [servicename] [jobname]
help:
help:    Update a mobile service scheduled job
help:      mobile job update [options] [servicename] [jobname]
help:
help:    Delete a mobile service scheduled job
help:      mobile job delete [options] [servicename] [jobname]
help:
help:    Options:
help:      -h, --help     output usage information
help:      -v, --verbose  use verbose output
help:      --json         use json output
```

To create a new job:

```
azure mobile job create -h
help:    Create a mobile service scheduled job
help:
help:    Usage: mobile job create [options] [servicename] [jobname]
help:
help:    Options:
help:      -h, --help                 output usage information
help:      -s, --subscription <id>    use the subscription id
help:      -i, --interval <number>    job interval as an integer; defaults to 15
help:      -u, --intervalUnit <unit>  specify one of: minute, hour, day, month or none for on-demand jobs; defaults to m
inute
help:      -t, --startTime <time>     time of the first run of the script in ISO format; defaults to now
help:      -v, --verbose              use verbose output
help:      --json                     use json output
```

e.g., to create a disabled job that is scheduled to run every 15 minutes (the same default as through portal):

```
azure mobile job create zumocli202 foobar
info:    Executing command mobile job create
info:    Job was created in disabled state. You can enable the job using the 'azure mobile job update' command.
info:    You can manipulate the scheduled job script using the 'azure mobile script' command.
info:    mobile job create command OK
```

To upload a CRON job script for the new job:

```
azure mobile script upload zumocli202 scheduler/foobar -f c:\projects\myscript.js
```

To enable the newly created job (they are created disabled by default):

```
azure mobile job update zumocli202 foobar --status enabled
```

To list CRON jobs:

```
azure mobile job list zumocli202
info:    Executing command mobile job list
info:    Scheduled jobs
data:    Job name  Script name       Status    Interval     Last run  Next run
data:    --------  ----------------  --------  -----------  --------  --------
data:    foobar    scheduler/foobar  disabled  15 [minute]  N/A       N/A
info:    You can manipulate scheduled job scripts using the 'azure mobile script' command.
info:    mobile job list command OK
```

To update any of the other settings of a CRON job:

```
azure mobile job update -h
help:    Update a mobile service scheduled job
help:
help:    Usage: mobile job update [options] [servicename] [jobname]
help:
help:    Options:
help:      -h, --help                 output usage information
help:      -s, --subscription <id>    use the subscription id
help:      -i, --interval <number>    job interval as an integer
help:      -u, --intervalUnit <unit>  specify one of: minute, hour, day, month or none for on-demand jobs
help:      -t, --startTime <time>     time of the first run of the script in ISO format
help:      -a, --status <status>      enabled or disabled
help:      -v, --verbose              use verbose output
help:      --json                     use json output
```

Finally, to delete the CRON job:

```
azure mobile job delete zumocli202 foobar
```