Reworked the document generator and introspectors to work with 2.4.0 branch.

Hi,

For the project i'm currently working on we are using the django-rest-framework 2.4.0 branch and the `list_route` but this breaks some stuff.

So I have done this mayor overhaul, I hope you are willing to take a look at it and comment on it.
Within this commit I have split the BaseIntrospector into a BaseIntrospector, BaseMethodIntrospector, IntrospectorHelper and DocumentationGenerator. The BaseIntrospector and BaseMethodIntrospector are now abstract classes (this is my preference but i understand if you dislike this).
Further more I have rewritten the ViewSetIntrospector to use `func_code.co_freevars` and `func_closure` to detect the mapped methods/functions. This adds support for `.as_view({'get': 'my_nice_func'})` and the `@list_action` decorator.
The test have been updated and split into new (hopefully better) classes.

Cheers and I hope you have some time to comment and in the end maybe merge.