restructured bluebird definitions

changed part of module to static class members
- enables Promise.try()
various small fixes and tweaks to defs & test