Brought home.ctp in skel folder in sync
Fix disabled elements as array for multiple select and make in_array() work properly here, fix same in_array issues for radio elements and move tests correctly - #1105
Merge pull request #1105 from dereuromark/master-fix-disabled

Resolve incomplete regression fix for FormHelper selection and disabled.
Make path to router script absolute in server shell.

Relative paths fail when you run the server from inside app/Console
or any other path.
Make paths platform dependent.

This fixes issues with the built-in PHP webserver on windows.

Fixes #3608
This commit is dedicated to Mark Story, who has put in much dedicated time and effort into CakePHP over the years.
I just wanted to ruin his evening, because this change needs to be merged into CakePHP 3.0.
Updated copyright date, added CSF address (Thanks Larry)
Formatted CSF address
Added extra line for referencing license file for copyright
Updated copyright and added references to license file for non-standard copyright references
Updated copyright
More copyright updates
Fix broken tests
Updated .gitignore, synced app & skel

Added some good practice rules from https://help.github.com/articles/ignoring-files to gitignore
Changed .gitignore to only ignore /app/Config/database.php instead of all files in /app/Config/ (helps to keep it in sync with its skel folder!)

Brought \app\ and \lib\Cake\Console\Templates\skel\ in sync
Fixed various @package annotations in \app\
Fixed various @package annotations in \lib\Cake\Console\Templates\skel\
Merge branch 'master' into 2.4
Added type hinting
Fix failing tests caused by previous commit
Breaking out the find so that it can be easily overloaded for caching

Before this commit you have to do some hacks to cache model finds easily. When using
custom find methods like `find('foo')` => `_findFoo(...)` it is common for the
method to adjust the query params.

Trying to cache a query using a hash of the query params :

	function find($type, $query) {
		$query = $this->_beforeFind($query);
		$cacheKey = $type . '_' . md5(selialize($query));

		$cache = Cache::read($cachKey, 'my_cache');
		if ($cacheKey !== false) {
			return $cache;
		}

		$results = $this->_afterFind($type, $query);
		Cache::write($cacheKey, $results, 'my_cache');

		return $results;
	}

Before this commit you either have to completely overload find and rewrite it in the AppModel or call
the before to get the modified `$query` and let cake run the before again.
Deprecate features in SecurityComponent

These features are available in CakeRequest now. The CakeRequest
version is improved as it raises more appropriate exceptions.
Update docs for SecurityComponent::requireAuth()