Only HashPrefix can create prefixes.

Have compiler enforce that we have our complete list of prefixes in HashPrefix.cpp by disallowing the rest of rippled to construct or modify them.

* Make constructor private.
* Disallow assignment.

@scottschurr, @ximinez
Actually no.  We could delete it.  But I failed to come up with a decent rationale for doing so.  It doesn't seem dangerous to copy a prefix (say to pass it by value).