Fixed numerous issues in pyro.sort_tree

Fixed numerous issues in pyro.sort_tree, including:
- user defined classes (like 'no-nest') were being removed
- wrong icons were being set for all parents when dragging items with hidden children
- child icons didn't properly update when dragging/dropping items with children
- cookies weren't saved when dragging/dropping items
- cookies could save invalid states
Closes #3227: Increase Password Length
20 was way too low. The 2.3 branch uses bcrypt which has a 72 character upper limit. To avoid silly issues when switching from bcrypt to "mystery future thing" I've set the limit to the somewhat arbitrary value of 50.

This may just be punting the "minimum is too low" issue down the road a bit, but the chances of people being sad about 50 being to low is much less likely than people being upset about 20 being too low.
Merge branch '2.3/develop' of git://github.com/pyrocms/pyrocms into 2.3/develop
Merge pull request #3173 from Vaporizer8/2.3/develop

Boomskie
Boom
Merge branch '2.3/develop' of github.com:pyrocms/pyrocms into 2.3/develop
Merge branch 'refs/heads/2.3/develop' into 3.0/develop

Conflicts:
	system/cms/themes/pyrocms/js/scripts.js
Fixed integration tests, which currently only cover installer.
These are clearly not covering as much of PyroCMS as we would all like, but having installation covered is huge. It means we know that whatever we do, things can at least install properly.

The more CodeIgniter code we delete and the more PSR-0/1/2 code that comes in, the more unit tests we will get. 3.0 will be a LITTLE unit tested, and 3.1 and 4.0 will increase things drastically.
Merge branch '2.3/develop' of git://github.com/pyrocms/pyrocms into 2.3/develop
Merge branch '2.3/develop' into 3.0/develop

Conflicts:
	system/cms/themes/pyrocms/js/scripts.js
Merge branch '3.0/develop' of git://github.com/pyrocms/pyrocms into 3.0/develop
Let MySQL ignore duplicate database errors on install
Killed off CI unit tests
These were too flakey to actually help out, as they were not able to run inside our slightly different CodeIgniter folder structure. It couldn't handle not being "system" and "application" for example. We've never relied on these so we will simply have to continue running without coverage. This is not too scary, as we're deleting huge chunks of CodeIgniter and increasing test coverage on the rest of the app.
Merge branch '2.3/develop' into 3.0/develop
Merge branch '3.0/develop' into feature/ioc

Conflicts:
	composer.json