refactor(fileList): fire file_list_modified on refresh()

We used to fire this event only when the change is coming from watcher,
not refresh() neither reload().

This change is to allow plugins to hook into the event and filter the resolved
files.

Also refactor file-list specs to rethrow exceptions that happen inside a promise chain.
chore: add mocha test task into sublime

Running tests through grunt (simple mocha) silences exceptions which drives me nuts.
refactor(config): add UrlPattern to make it nicer
chore(emitter): add a todo to do logging of events
feat: allow multiple preprocessors

// testacular.conf.js
preprocessors = {
  '**/*.coffee': ['coffee', 'other']
};
feat(config): normalize string preprocessors into an array

To make it backwards compatible.
fix(preprocessor): resolve relative patterns to basePath

Closes #382