refactored post template populate function
only if no page is present check for placeholders
refactored & optimized page toolbar code
removed unused import
refactored placeholder & basic toolbar code, init placeholders post template
use django urlencode and let it handle the compatibility problems
made add url parameters a utility function
use add_url_parameters utility function
check for existing title language in on delete redirect, fix for #3270
fix for user button if auth model is swapped
Merge branch 'develop' into refactor-cms-toolbar-code

Conflicts:
	cms/cms_toolbar.py
modified toolbar test to pass with swapped user model
removed unused import statement to make pyflakes happy
Fixed: #3325. Removed redundant sections.
Fixed #3326: Plugin pool initialises incorrectly if database is down during first request
Small change in tutorial of how to test extensions and their urls. Needed because we had a conflict with nosetests (django-nose), that was loading all test_* by default, and we thought that maybe be a common conflict of a lot of users that also use nosetests with django-cms and follow this doc.

This problem was that url resolver called the database before of the test database configuration when nosetests loaded test_urls.py, so the django_sites and all tables were not created yet.
Make Django 1.7 migrations happy by moving outside CMSPlugin class the function used in fields' upload_to
Let's keep the django migrations in a non-standard module for 3.0.X
Add all the applications involved in tests to the makemigrations command
Migrate all the thing!