Add lotus binary

Adds a `lotus` binary. Currently uses thor to parse arguments etc but could easily be changed in the future. Right now this only adds 1 useful command: `server`.

### Output
```
ᐅ bundle exec lotus
Commands:
  lotus help [COMMAND]  # Describe available commands or one specific command
  lotus server          # starts a lotus server
ᐅ bundle exec lotus server
[2014-06-27 23:47:55] INFO  WEBrick 1.3.1
[2014-06-27 23:47:55] INFO  ruby 2.1.2 (2014-05-08) [x86_64-darwin13.0]
[2014-06-27 23:47:55] INFO  WEBrick::HTTPServer#start: pid=27677 port=9292
```

### Misc
I also tracked down and figured out the cause of the content length issues in Safari. So this pull request also fixes #5 assuming someone starts the server using the `lotus` binary.

### Further work
Obvious further work includes things like:
* Lotus app generation similar to `rails new`. Would need to support the basic app structures laid out in the readme as well as a blank structure.
* Add a `lotus console` command.
* Live reloading. I think the best strategy for this is to use a forking option like in the shotgun gem. At least in the short term.

I'll probably attempt to tackle the second two options. I'm less fussed about the app generation command although I do think the binary should do something useful outside of a lotus application.

### Discussions
* Should we default the lotus port to 3000 or to something else?
* What other items would be useful to put into a `lotus` command?


I'm a fan of test contexts too. Although in this case I feel that the tests are very straightforward (at the moment). @joneslee85 maybe you could rewrite this test using contexts and put it in a gist and we could see if it looks simpler/easier to understand?