Cleanup

Remove unnecessary import statements.
Abstract base classes

Integrate abstract base classes.
Tests use tuples

Refactor 'MockConfigurator' and 'ScanTest'. Now, these classes use
tuples representing views to detect when a view has been successfully
added to the configurator.

Update API tree example.
'RequestMethod'

Add 'RequestMethod' class.

Replace string request method values ('GET', 'POST', ...) with
instances of 'RequestMethod' class.
Refactor 'MockConfigurator', 'ScanTest'

Refactor 'MockConfigurator', 'ScanTest' to more closely duplicate the
behavior of the actual Pyramid 'Configurator' class.
Branch location tuples tests

Add tests for branch location tuples.
Branch location tuples

Add 'parse_branch' and 'conglomerate_endpoints' functions to handle
the getting of endpoints from an API tree. These new functions
implement the 'branch location tuples' behavior.

Add 'RequestMethod' to package-level namespace imports.

Debug tests.

This commit breaks many tests in 'test_api_documentation'.
Debug

Debug 'api_documentation'.

Debug 'test_api_documentation'.
Branch object tuple tests

Add tests for 'branch object tuples' behavior.
Branch object tuple

Branch objects can be tuples of views and trees.

Add 'util' module. Move 'is_container' function to 'util.

Debug tests.
'list of tuples' tests

Add tests for 'list of tuples' API tree style. This style of declaring
an API tree (as a list of tuples) preserves the order in which views are
added to the Pyramid configurator.
List of tuples

API tree object can be a list of 2-length tuples.

Add 'BadAPITreeStructureError' for cases when 'api_tree' value is not
traversable.
Error names

Replace 'BadAPITree...' error names with 'APITree...'. Having 'Bad'
in the error names was redundant.
'add_catchall' tests

Add tests for 'add_catchall' function.
'add_catchall'

Implement 'add_catchall' function.
Refactor 'add_catchall' tests

Refactor 'add_catchall' tests. 'add_catchall' will be refactored to
add a custom predicate function to each view added as a catchall;
these tests are being refactored to accomodate that change.
'catchall_custom_predicate'

'add_catchall' defines a new 'catchall' function for each view added
as a catchall, and assigns the new function to the attribute
'catchall_custom_predicate'.
Merge branch 'dev/catchall' into develop
Prepare relase 0.3.1

Update version number.

Update changelog.
Merge branch 'release-0.3.1'