remove space <-> domain relationship

Domains no longer have to be added to a space to be usable. If a domain
is added to an organization, it can be used by all spaces in the
organization. This applies to both owned and shared domains.

[#61573070]

Signed-off-by: Mark Rushakoff <mrushakoff@pivotallabs.com>
split Domain into Private and Shared domain

New endpoint: /v2/shared_domains, which is accessible to anyone who's
logged in, and updateable by an admin.

New endpoint: /v2/private_domains, which lists domains owned by
organizations visible to the user.

New endpoint: /v2/organizations/:guid/private_domains, which lists
domains owned by an organization and visible to the user.

Private domains can be updated by an organization manager, and are owned
by one organization. Shared domains are system-wide configuration.
Organizations no longer have to have domains explicitly added to them to
be able to use them. Shared domains are usable by all organizations in
the system.

This simplifies and clarifies the domain object model, which previously
conflated both concepts, which led to performance issues and complexity.

We will next (before merging this commit) re-enable /v2/domains,
/v2/organizations/:guid/domains and /v2/spaces/:guid/domains to work in
terms of this new structure.

[#61573070]

Signed-off-by: Mark Rushakoff <mrushakoff@pivotallabs.com>
Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
remove wildcard concept from domains

Everything now behaves as if it was set to "true", which almost every
client always did.

[#61573070]

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
add private/shared domain model specs

remove domain specs; move shared behavior into a shared example

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
remove harmless pending test

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
Restored /v2/organizations/:guid/domains endpoint

* Reinstated the organizations - domains relationship by overriding sequel
default behaviour to not make a join table and instead grab a custom
dataset.
* Updated the API spec to use the new syntax

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
Added timecop to a flakey test

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
reenabled spaces-domains relationship

Also, lots of formatting

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
Removed last pending domains test.

Domains endpoint working no kidding for realz this time.
Also some formatting along for the ride.

[finishes #61573070]

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>
No domain deletion if there are associated routes

Actually, just for non-recursive deletes.

Signed-off-by: Ruth Byers <rbyers@pivotallabs.com>