Implement HasteUpdateServer

1. Long running process for updating resource maps
2. Can run for multiple haste instances and resource maps
3. When a file changes it will be swapped out in our in-memory file list to be analyzed and updated on disk
4. Maps are persisted back to disks
5. A net server starts for querying status

Designed to be used by CLIs to start the server if not started. Will probably need a few changes come _real_ integration time (done some testing on devservers)
pedantic-nit-that-doesn't-actually-matter:

just do

```js
return q.all(...).then(function(hastesAndData) {
  ...
}
```