a40_entityMetadata.js: Expose breeze's Q as 'breeze.Q'
apps and tools often need to know what promise library breeze is currently using so they can use it too.
Added ChangeRequestInterceptor to the dataservice adapters and passing saveInterceptorTests.js
Refactored dataservice adapters to share abstractDataServiceAdapter's code changeRequestInterceptor
dataservice adapters: add catchNoConnectionError logic and some cleanup
catchNoConnectionError infers "no connection" when error has no status or message which was mysterious before. Server down is typical cause.
OData dataservice comments clarify the reasoning behind the JsonResultsAdapter.visitNode condition
the one that compares node property count to mapped property count
dataservice adapters: switch from 'fn' to 'proto' as the prototype variable (per Breeze standard)
Merge branch 'master' into development/changeRequestInterceptor

Resolved Conflicts:
	src/a60_abstractDataServiceAdapter.js
	src/b00_breeze.dataService.odata.js
	src/b00_breeze.dataService.webApi.js
OData DataServiceAdapter: missed a 'fn' to 'proto' update (see last commit)
Merge branch 'master' into development/changeRequestInterceptor
Merge branch 'master' into development/changeRequestInterceptor
intellisense folder moved down into grunt folder and all grunt and npm tasks adjusted accordingly
See email to Jay on 6/17/2014 describing the problem w/ missing handlebars module and how this fixes that problem