Allow changing accessible fields when creating Entity

Usage: ``$this->Entity->newEntity($this->request->data, ['accessibleFields' => ['*' => false, 'teste' => true]])``
Related to: #4215
Moving core related global functions to a separate file
Adding a Readme and composer.json to the Core namespace
Fixed autoloader section
Removing reference to App.encoding
Add test for accessibleFields option in Marshaller::one().

Add a test to test how the new option works in both the additive and
subtractive cases.
Add API docs for accessibleFields option.
Merge pull request #4565 from cakephp/marshaller-accessible-fields

Marshaller accessible fields
Removing HTTP_BASE env check
check for file param order
Merge pull request #4567 from antograssiot/#4563

3.0 - Check for `$file` array order in `uploadedFile()`
allow plugin-name short aliases in cli

Instead of forcing/telling users to type:

	Console/cake PluginName.plugin_name

Allow:

	Console/cake PluginName

And:

	Console/cake plugin_name

Also be case insensitive/consistent when resolving aliases
move adding short plugin aliases to constructor

That way, they are always present, and don't prevent/interfere with a
user creating their own command aliases
Merge pull request #4364 from AD7six/3.0-cli-short-plugin

allow plugin-name short aliases in cli
Fixing tests
Applied dispatchEvent() method.
Merge pull request #4566 from robertpustulka/3.0-dispatch-refactoring

3.0: Applying dispatchEvent()
Merge pull request #4558 from cakephp/3.0-split-core

3.0 split core