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
CRM-14370 - API Kernel - Move request parser to its own class
SyntaxConformanceTest - Accept some variation in capitalizaiton of errors
CRM-14370 - API Kernel - Implement getEntityNames, getActionNames
CRM-14370 - API Kernel - Add test for event lifecycle
Do not merge - CRM_Core_BAO_Setting - Generate better errors
Do not merge - Perfcheck page