Introduce NgError

First change for https://github.com/angular/angular.js/issues/1041

Changes include:

- Introduces a NgError class which extends Error and does String Interpolation
- Tests for the same
- Switch over to using NgError with interpolation throughout instead of the current string concatenation method

Few doubts:
- NgError - SHould I define it as it is or create a provider for it? I don't think I like the provider theme for this particular object that is followed for the rest of the objects in the ng codebase, but your call.
- Documentation - Anything else I need to document? ANy particular format?