Create API bundle

 * Removes the generic Middleware bundle and creates an API bundle in its place
 * Allows for development of other bundles
 * Allows for non-bundle code

Merges into `feature/event-sourcing` master PR.