Add ability to deploy npm package (tarball)

See also: https://github.com/strongloop/strong-pm/pull/12
@rmg I take your point, though having files with same names as branches doesn't go so well in git, `git checkout X`... but anyhow, reversing logic to force ./x.tgz for disambiguation work work ok. Also, recall, if you are actually in a git repo.... why would you push a tarball? And if you used `slc build` to build the tarball, it will be in `../`, not a valid git branch, but all that said, we can add options to force interpretation:

`slc deploy [--branch|--pack] URL [BRANCH|PACK]` where in absence of a switch, we look for a branch first, then a package, as semi-implied by ordering (and explicitly documented).

@kraman I'm not understanding "this format would allow it to be passed.". Are you referring to the cli usage I propose, or the cli usage you currently have?

Anyhow, other solution is to force a `--branch` argument all the time.

One way or another, the random asymmetry of the package and branch cases should be fixed. Its not at all clear why  `slc deploy [--pkg PACK] URL [BRANCH]` is the usage, as opposed to `slc deploy [--branch BRANCH] URL [PACK]`... how can we justify that when pushing branches, the argument is positional, and when pushing packages, the argument is an option?