Initial precheck feature implementation
Merge branch '2.0' into feature/precheck
Merge branch 'feature/precheck' into 2x
Merge remote-tracking branch 'origin/develop' into 2.0

Conflicts:
	Console/Command/MigrationShell.php
	Lib/CakeMigration.php
fix failed tests
Merge branch '2x' into feature/precheck
Update readme.md
Reverting the messed up reset feature in the case a migration breaks
Fixing the return of MigrationVersion::run()
Improving the readme.md
Merge branch 'feature-precheck' of github.com:CakeDC/migrations into merge-precheck

Conflicts:
	Lib/CakeMigration.php
fix tests in Model/CakeMigrationTest to assert MigrationException is thrown when needed
Making sure precheck is set in the console
Merge branch 'merge-precheck' of github.com:CakeDC/migrations into merge-precheck
Fixing tests, coding standards and doc blocks
Correcting some code formatting
Fixed fatal error on non-loaded plugins

DebugKit panel throws an error if you try to read migrations for plugins
which are not loaded using CakePlugin::load()

Changed the code to load migrations only for loaded plugins.
Improve precheck integration with CakeMigration. Implements tests for PrecheckCondition class.
Update documentation about checking modes.
Fix failed test case