These allow for a given block to be wrapped in helper methods or metadata and allow for more control over the current container and method before the code is run.
Converts the tool chain to use babel, eslint, and webpack vs. the previous proprietary solutions.
Additionally begins enforcing additional linting concerns as well as updates the code to reflect these rules.
Fixes#855Fixes#993