Format Selection, Format on Save and Grammar

Hello again!

This pull request has a couple of useful features. The first is if there is one or more selections made when jsformat is run, only that code is formatted. 

The second is a 'format on save' option which formats the file before saving it. This is probably my biggest 'want' for this plugin.

Finally I changed the way a valid file was detected, relying on the file's grammar instead of filetype. This covers more valid file types that checking extension alone, and if Atom follows Sublime's lead users will be able to set the grammar of a file to whatever they want (say "this .xxx file is actually JavaScript").