CRM-14370 - API Kernel - Parse options/data/chains for v4
civicrm_api3_create_error - Simplify
CRM-14370 - composer - Add symfony/serializer
CRM-14370 - Fork GetSetMethodNormalizer, adding support for $context['target']
CRM-14370 - Implement DoctrineCrudProvider (with test)
CRM-14370 - API Kernel - Move dispatch into helpers

Also: Use constants for error codes
CRM-14370 - Convert _civicrm_api3_api_check_permission to Civi\API\Subscriber\PermissionCheck

Also: Restrict old permissions checks to APIv3
CRM-14370 - API Kernel - Add UnauthorizedException, NotImplementedException
CRM-14370 - Move helper functions into classes

In particular:

 * civicrm_get_api_version => Kernel::parseVersion
 * _civicrm_api_resolve => MagicFunctionProvider::resolve
 * _civicrm_api_loadEntity => MagicFunctionProvider::loadEntity
 * civicrm_api_get_function_name => MagicFunctionProvider::getFunctionName
 * civicrm_api3_generic_getActions (partial) => MagicFunctionProvider::getActionNames
Do not merge - CRM_Core_BAO_Setting - Generate better errors
Do not merge - Perfcheck page