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

This pull request contains two changes.

~~The first one fixes the bug [SLA-679] (https://strongloop.atlassian.net/browse/SLA-679) where a request for non-existing id returned 200 + null instead of 404 + error.~~

The first improves the existing fix of the bug [SLA-679] (https://strongloop.atlassian.net/browse/SLA-679). If the root application does not install correct error handler, unknown methods still return expected error response now.

The second one changes the structure of error responses in order to implement [SLA-702](https://strongloop.atlassian.net/browse/SLA-702)
- additional fields are included
- the new format is closer to what could be considered as a "standard" (see overview in SLA-702).
- it should be very easy to add details about validation errors now

/to @raymondfeng or @ritch please review.
/cc @Schoonology FYI.