Return 404 for unknown methods of known classes

Modify the configuration of the per-class express app to convert
unhandled requests (i.e. unknown sub-urls) into a 404 error.

The change includes code clean-up:
- rename `sc` parameter to `sharedClass`
- use `adapter` instead of `self` in RestAdapter.createHandler
- extract error handling middleware to RestAdapter.errorHandler
- add more comments
Include additional properties in error responses

Modify RestHandler.errorHandler to send responses in the following
format:

{
  "error": {
    "name": {error class name, e.g. 'Error' or 'TypeError'}
    "status": {http status code, e.g. 500}
    "message": {error.message}
    "stack": {full stack-trace, as returned by error.stack}
    {additional enumerable properties of the error}
  }
}

This format is a super-set of the response produced by the default
Connect/Express errorHandler. It is also similar to the format used by
Parse and the format described in Google JSON Style Guide.
Merge pull request #23 from strongloop/feature/improved-error-handling

Return 404 for unknown methods of known classes + Include additional properties in error responses