Use factories in FurlRequest spec
Add states to furl_request and refactor

Three states - pending, accepted and rejected now exist.
Some logic, such as sending notifications, and setting 
up a fURL is also now handled by the state changer methods.
Furl request index only shows pending requests