Feature: Debugger integration

This is a merge of `elm-debugger` and `elm-server`. Much of the code will appear quite familiar from one repo or the other. There are a few added features to get everything to work correctly.

### Features

* Allows debugger mode and regular display mode
* Automatically hotswap in debug mode
* Unpause debugger for runtimes that support it
* Works on both `elm/0.12.3` and `elm/debugger` (the debugger doesn't work unless you're on `elm/debugger`)
* Unified elm compile code (`Generator.hs`)
* Bundled assets (`elm-debugger.html`, `debug.png`, and `favicon.ico`)

##### Debug mode overview

0. Server starts watching files in directory for changes (file write or create)
0. Browser initiates websocket connection
0. Server responds with pings every 10 seconds
0. When the server detects a change it compiles the javascript
0. Server sends new javascript
0. Browser evalutates it and replaces the existing elm code

### Notes
* Socket work in a separate file for future extensions

### Bug fixes
* Send 404 HTTP code instead of 200 on File Not Found

### TODO
* Bump minor version?
might be nicer to split this out into a `bundledAssets` handler after all the routes are handled, down with the `serveDirectoryWith` stuff.