Fixes #20

Well, I just fixed #20. It did this by adding 2 instance variables representing the CharField/TextField for the choices/render text. If they are not set when contribute_to_class is called, they will be created, added to the model, and assigned to the instance variables.  
I also added some comments to contribute_to_class, created "functional tests" for testing the migration, and added a class that contains all development requirements for pip.  
Travis now cd's into markupfield/tests and runs run_tests.sh there. The script runs `django-admin.py test` if the django version is lower than 1.7. If it is equal to 1.7 or greater, it will first remove all old files (migration files, pyc files (extremely handy when developing since they can be leftovers from migration and won't be removed automatically), and the markup database. Errors will be ignored. Then, it makes migration and migrates the database afterwards (it makes sure, migration works). Finally it runs all tests and remove the migration and database file again (errors won't be omitted!).