AppBundle

It's a symfony best practice and it makes total sense. Most of my other PRs depend on this one and they all form part of the CS Revisions series. The commits are broken up on purpose to make sure git understands that they were moved files, not deleted and new files. Ignore the Part x of y. I needed more parts but had already based other branches off this one so didn't want to rebase.