promisify request internals for opening services

This change greatly simplifies the internal handling of the session
request.
s/blpapi.js/blpapiwrapper.js in ./lib
utilize npm 'debug' module for logging
Merge remote-tracking branch 'eric/api_abstraction' into qndirty-promise

Conflicts:
	package.json
index.js: use debug instead of console.log
attach '.data' to Error objects

Attach additional information about the error to the '.data' property of
the error being thrown.
Merge remote-tracking branch 'eric/api_abstraction' into qndirty-promise
index.js: pass the error message from the API