CRM-13986 - Manage names and slugs for API entities

For REST purposes, we need a way to map entity slugs (URL-style names) to
entity classes. This commit provides the following infrastructure:

 - Civi\API\Registry scans the Doctrine entities and stores the list of slugs in Doctrine's metadata cache.
 - The default slug is based on taking the entity-class-name (without the namespace) and changing the first char to lowercase.
 - @Civi\API\Annotation\Entity provides a way to override these slugs for a particular entity.

For cohesion, this commit also moves Civi\Core\Page\Rest to Civi\API\Page\REST.
Temporarily tweak annotations for REST compatibility