model separated from server.js

see http://sequelizejs.com/articles/express
fixed association of basket<-basketitem->product
model fixes
fixed associations
finished model refactoring

- added missing models. prefixes
- handle server exit gracefully
split data creation and caching from server.js
JSHint issues fixed

- missing semicolons added
- changed " into ' as string delimiter
- function complexity reduced in datacreator
split route setup and custom middleware