Created SalesController spec

Roughly described behaviour to meet requirements of task
Controller does not exists, not idea if this runs yet
Create Sale model spec

Roughly described what the model should be
Expect to generate random password and to save hash in column
Sale model works like intended

Tweaked spec to more clear
Added secure random to model
Ensure generated password is returned
Speced out require routes

We only need a few sales routes
Added routes to meet the spec
Got SalesController spec to pass

Added factories
Needs majour refactor but system should now meet requirements
Created service to retrieve Sale

Tidy up controler with PORO service
Create service to create a sale

Spec'ed out service to create sale
PORO to meet spec and return hash (as not leak data)
Altered controller to use Services

Made tests faster and cleaned up controller
Spec the JSON better to ensure proper response