created an error class to craft JSON-API-compliant error objects, exposed it in carpenter, and changed 'resources' variable from an array to a map
A bunch of modifications in this commit
* responses are now promises. that allows to handle async query results
* url parsing logic moved to the separate parseUrl.js file
* wrote GET requests handler
added explicit reference to promises
bug fix: .apply() is not necessary to call exposeAPI, and the way it was called before was wrong
setup the building process, configured grunt, updated .*ignore files
dried code with utility functions
added some validation logic