Add options to serve all accepts html requests with a defined html document

Fixes https://github.com/chrisdickinson/beefy/issues/42

Adds two new options to the CLI:

`-s` or  `--spa` - instructs beefy to try and run in single page app mode
`-sr=foo.html` or `--spa-root=foo.html` - gives name of html document to use for single page app requests

When running in this mode, beefy will check that the file exists, and throw an error with the path it was looking at if it cannot find it, and exit.

When the user just specifies the `-s` option, we assume that the `spa-root` file is index.html, and we check for the presence of it as if we had explicitly specified this.

If all this is ok, beefy then maps all requests that would previously have been served with the fake index, with our specific HTML file, enabling fun stuff like html5 history enabled applications that use these paths to deep link into app functions.

Live reload also continues to function as expected, and any requests for existing files also continue to work.

Looks like this in the console (please excuse my horrible customisations):

![screen shot 2014-06-01 at 18 58 06](https://cloud.githubusercontent.com/assets/201036/3142181/d24b862e-e9ae-11e3-868c-2fbaa5e1fb5a.png)

## Todo

- Document the changes
- Which color is best for the SPA log messages?
- Double check coding style is consistent with project
- where best to pass options to beefy on startup? custom handler before, or at the end..?