Refactor project structure to organise files by feature

Create folders that hold all files eg. controllers, directive, specs,
and templates etc. for each view or feature. For an explanation see
https://coderwall.com/p/y0zkiw

Modify grunt config accordingly so that specs aren't concatenated into
app.js and e2e tests are kept separate as per config/spec-e2e.js

Fix books e2e spec so tests pass - repeater().row() is zero indexed

Update Readme