Merges and moves identical implementations to base

Both base-modules had identical implementation of Conversation.setup_request.
Moves two identical implementations to base

Conversation.init() had identical implementations in subclasses. Moved
this to base class which makes it easier to find, update and fix bugs.
Deduplication of classes

Moves identical classes to base-module
Merge pull request #6 from asheidan/refactor/deduplication

Deduplication
Fixes the issue whith AccessTokenResponse

Previously AccessTokenResponse didn't detect that the content of the
response where correct but started to search for a matching interaction.

This was due to a missing return-statement in handle_result
(oauth2test/base.py:123).
Reverts previous error handling

As FatalError not always means that we have a runtimeerror it seems we
shouldn't just dump a stacktrace to stdout when we receive one.

Probably should change the errorhandling to use another exception and
dump a stacktrace on that error instead.
Test for returned error on second usage of code
Merge pull request #7 from asheidan/feature/reject2ndcode

Test for rejecting second usage of the same authorization code