Fix bracket-counting algorithm and improve error messages

The bracket-counting algorithm should no longer count holds and bookings
separately when they do not overlap.
Fix PrePersist listeners to overwrite preexisting created_at/updated_at

The PrePersist lifecycle event will only fire when an entity is persisted (in
other words, for the first time). If a cloned entity has an existing
created/updated, we still want to save a new created/updated. Previously, this
would not have occurred due to the isset() check.
Fix bad binding of entity currency to form amount field
[WIP] feature: rule configuration creation, editing, copying, deletion.

This does not yet do any sanity checking (such that you are not modifying rules
that are currently in use).
Remove old RuleConfig class
Update forms dealing with billing rules separating them into Active and Archived
Stop using option groups for rate active/inactive flagging as it interferes with validation
Revert "Stop using option groups for rate active/inactive flagging as it interferes with validation"

This reverts commit b02985cba8e5f50b0feddbc7b8924ed375b5c3e2.
We need to have a blank default, otherwise we will force a rate addition... forever.
Fix class name to match file name
Register default ZF2 error and exception handlers using the configured logger
Bring in similar logic used in facilities and bookings for overlap validation
Default to USD if the bound entity has no currency value
Add methods for getting primary addresses from people
Add ability to create/edit email addresses
Remove transitional 'old_id'
Create interface for classes that can be injected with a Doctrine entity manager

Implement the interface in a number of form classes that did not implement it before.
Stop using initializer in favor of configuration in the Doctrine resource

Soon, this work will be done by DoctrineORMModule when we switch from the ZF1
doctrine resource.
Rename the Doctrine service to fit with the DoctrineORMModule naming, and refactor session initialization

We aren't using DoctrineORMModule yet, but we are preparing to.
Add some documentation to Contract\Signatures