Protocol cleanups:

* Reduce the exposed API of BuildInfo and BuildInfo::Protocol
  This includes enforcing non-copyablility for both classes,
  removing an unneeded Protocol default constructor, and making
  implementation details private.

* Make The TxFormats default constructor private.  This class
  is a singleton, and should only be default constructed in
  TxFormats::getInstance().

* Rename FieldNames.cpp to SField.cpp in comments.