[Fix] App name cannot contain an underscore , closes #23
Apps can hook in their own locator.

Move only resctriction to locator.

Raise ArgumentError for app names with underscores.

Memoize default locator. Privatize class methods properly.

Make app name validating public.

Use app validation on GlobalID.

Normalize app names when reading or setting locators.