Add InnerObjectFormats and validate them [RIPD-480]

This commit introduces a new KnownFormat in order to reduce
hand-coded error checking of inner STObjects.  Currently supported
STObjects are SignerEntry and SigningAccount.  Support for future
objects should be easy to add.

This commit also introduces validation of these InnerObjectFormats
in two places:
 - Constructing an STParsedJSONObject from a Json::Value,
 - Constructing a SerializedTransaction from a SerializerIterator.