an opinionated micro javascript/node.js ioc container that uses promises and auto-discovery