Rewrote the backend server using Dart.

Almost everything works. The only issue I ran into was with the long
pulling. Only one client is allowed to listen to MPD changes at a time,
using long pulling. I'm pretty sure this is a language limitation at the
moment. I'll make an issue about this until it's fixed.

There's a few new features as well.
 - You can directly request things from MPD using Turbo Wookie's
standard input.
 - MPD's output is redirected to Turbo Wookie's output.
 - Turbo Wookie can detect where the root folder is, so the
`config.example.yaml` file doesn't need to be changed at all for most
users.
 - The `mpd.conf` file and all other files are generated by Turbo Wookie
if needed. This was a feature before, but I don't think it worked 100%.
 - There are a few more args that are accepted. Run `turbo-wookie help`
to find out more.
 - Turbo Wookie can be run without the dart prefix on Unix machines. So
you can cd to the turbo-wookie/backend folder and run `./turbo-wookie`
and it will run it. Or you could add that file to your path, and run it
anywhere (I haven't tested this so it may not work due to auto detecting
the root folder of Turbo Wookie).

Now for some details about the code.

There are only 6 Dart files (all in the `backend` directory).

 - `turbo-wookie.dart`: The driver. This takes care of command line args
and starts the server up.
 - `lib/turbo-wookie.dart`: The TurboWookie lib file. It just groups all
of our related files together and takes care of imports.
 - `lib/src/config.dart`: Reads everything from our `config.yaml` file
and stores all the data so it's easy to retrieve.
 - `lib/src/mime-type.dart`: Just a script to "detect" mime-types.
 - `lib/src/mpd-controller.dart`: This talks to MPD. It tells it to do
this, asks it things, and watches it for changes.
 - `lib/src/turbo-wookie-server.dart`: The server. It listens for the
client to request things and serves them when it does.

I'm sure there's more to say, but that's all I can think of for now.