Move `name?` check outside of the open-browser function
Fix typo
Add to test case for NilGrammar

Test it on Javascript as well as Coffeescript.
Create a GrammarFactory

Moves logic about what grammar to use for different types of source
files into an object that can be tested on its own.
Extract Browser object

It constructs the url from the server and name, and opens the browser.
Rename `getLineTree` to `getTree`
Merge branch 'refactor'