Created promise-based fs.exists function in fs.js.
Reimplemented song processing and enqueueing.

There's a bug where the queue gets randomly shifted, and
songs are enqueued in the wrong position.

Also converted more code to use promises instead of callbacks.