Add better support for end-to-end Error Handling.

Now you don't have to return a typed Response DTO to get error handling - if there is no Response DTO it uses the Generic ErrorResponse DTO to capture errors.
Add new ServiceClient API to IRestService and IServiceClient interfaces.

Fix error handling to return earlier expected types.
Fix validation tests
Fix validation tests
fix checking of ServiceExceptionHandler in ServiceBase
Expand verbs and let Options requests through to the service
fix ApplyTo dictionary error
Renamed IService for new service functionality to NService (New/Non-Generic) base
Rename ExecuteAsync/ProcessAsync to ExecuteOneWay/ProcessOneWay
Added more tests, Added new AllReqstars service to return pure collection, changed Route matching to use a score to pick the most relevant route.
Properly init the state of RazorFormat so subsequent tests in same project aren't dirty
Extract NServiceExec into its own class
fix docs
Extract IServiceRunner into it's own class
Added failing test for new service API (this should work IMO)

Test is failing with:
ServiceStack.WebHost.Endpoints.Tests.SharedDtoTests (TestFixtureSetUp):
SetUp : System.Reflection.AmbiguousMatchException : Could not register
Request 'ServiceStack.WebHost.Endpoints.Tests.SharedDtoTests+RequestDto'
with service
'ServiceStack.WebHost.Endpoints.Tests.SharedDtoTests+Service2' as it has
already been assigned to another service.
Each Request DTO can only be
handled by 1 service.

+ Improved exception thrown in UrlExtensions (client route selection)
Merge branch 'master' of https://github.com/ServiceStack/ServiceStack
Ignore shared DTO test after discussion with @mythz
add extracted IServiceRunner
Merge remote branch 'origin/HEAD'
Add support for fallback to use pre-defined routes when no user-defined routes exist