refactor(app): refactor app layout to conform to best practices

The current layout of angular-seed conforms to Cliff Meyers' "piles on the floor"
layout. This commit attempts to refactor the layout to the emerging best practices
for angular app layout, grouping files structurally vs by functionality.

Any comments welcome, I think I've got everything handled here. The e2e tests don't run on my system, but they don't run from master either and the paths should be the same.