Avoid side effects when manipulating context in layout objects

Added a `KeepContext` context manager, that rolls back changes done to
context by layout objects, to avoid side effects in other layout
objects.

This allows the cleanup of some code and simplifies writing safe layout
objects, like the one proposed in issue #136.
Fixing Python 2.5 compatibility
Merge branch 'dev' of git://github.com/rockingskier/django-crispy-forms into dev
Updated CHANGELOG and CONTRIBUTORS
Bug fix for pickling crispy forms by @powderflask

See issue #107 for details
Don't display legend if not provided
Use formset iterator instead of forms list attribute
Fixing bug with multiple forms
Update index.rst
Merge branch 'empty-legend' of git://github.com/borgstrom/django-crispy-forms into dev
Merge branch 'formset_iterator' of git://github.com/danxshap/django-crispy-forms into dev
Merge branch 'dev' of git://github.com/SpazioDati/django-crispy-forms into dev
Merge branch 'dev' of git://github.com/evildmp/django-crispy-forms into dev
Fixing outdated FAQ, fixes #140
Added compulsory SECRET_KEY to test settings
Updating tests for Django 1.5 compatibility
Updated CHANGELOG and CONTRIBUTORS
change super() to beginning of init method

when super() is called at the end of the init, some problems can happen with
ModelForm "object has no attribute 'fields'".
see #151
Bug fix in {% crispy_field %} when passing a value to an existing attribute
Adding a new setting variable CRISPY_CLASS_CONVERTERS