Refactor SField (RIPD-431)

* Restrict access to SField constructors.
* Make all SField access const.
* Hide and simplify databases used to hold SField constants.
* Separate the two concerns of representing a field,
  and maintaining a database of fields.
I do. It's in https://github.com/ripple/rippled/pull/489