Adds routes for accepting the license and attributed roles

This adds routes for both license acceptance and attributed role acceptance.

The functional tests have been condensed into a larger story form that goes from start to finish. This differs from before, because now all the interactions are HTTP based, without any hacks in between.

Things to specifically look at:
* Everything inside the ``.db.poke_publication_state`` function.
* How attributed roles are compared and role acceptance requests are created.
* What would happen if a license or role was declined rather than accepted.