(API) Port old tests for hosts

Significantly update the definition of class `Host`: modify fields and override
the `build` method to properly create dependent entities. Enable CRUD tests for
hosts in module `test_multiple_paths`. Drop old CRUD tests for hosts.

Slightly clean up module `test_host_v2`.

Fix #1446.
It's possible to use just about _any_ characters as a Domain's name. However, I've discovered that domain names must be much less interesting when that domain is referenced from a host. A value like like 'foobar.bizbaz' is acceptable, but 'Foobar.bizbaz' is bad, as is 'http://example.com'.