Fix bug in Transactor::preCheck() for m-of-n [RIPD-480]

The previous implementation of signature checking in the
Transactor::preCheck() code was flawed.  The check was located in
the wrong bit of code.  This commit moves the multi-sign aware
signature checking to what (I hope) is the right place: STTx.
SigningAccount not serializable to transaction [RIPD-480]

Changed the implementation of get_signingaccount so the returned
SigningAccount object is built using JSON only.  This allows us
to change SigningAccounts so it is no longer serializable in a
transaction.

While I was in there, I also changed the SigningAccounts encoding
so it is treated as uncommon.

The change also had the side effect of relocating where the
SigningAccount field is returned, probably for the better.

// Old version
{
   "result" : {
      "status" : "success",
      "tx_blob" : "1200...61E1",
      "tx_json" : {
         "Account" : "rDg53Haik2475DJx8bjMDSDPj4VX7htaMd",
         "Amount" : "1000",
         "Destination" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
         "Fee" : "10",
         "Flags" : 2147483648,
         "Sequence" : 4,
         "SigningAccount" : {
            "Account" : "rPcNzota6B8YBokhYtcTNqQVCngtbnWfux",
            "MultiSignature" : "3043...4F41",
            "PublicKey" : "02FE...01F8"
         },
         "SigningPubKey" : "",
         "TransactionType" : "Payment",
         "hash" : "97011...9065E"
      }
   }
}

// New version
{
   "result" : {
      "SigningAccount" : {
         "Account" : "rPcNzota6B8YBokhYtcTNqQVCngtbnWfux",
         "MultiSignature" : "3044...9565",
         "PublicKey" : "02FE...01F8"
      },
      "status" : "success",
      "tx_blob" : "1200...37E8",
      "tx_json" : {
         "Account" : "rDg53Haik2475DJx8bjMDSDPj4VX7htaMd",
         "Amount" : "1000",
         "Destination" : "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
         "Fee" : "10",
         "Flags" : 2147483648,
         "Sequence" : 2,
         "SigningPubKey" : "",
         "TransactionType" : "Payment",
         "hash" : "A660...B46B"
      }
   }
}
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.
Move multi-sign docs into transactors/README.md [RIPD-480]

There was documentation for tickets and multi-signing in...

 o src/ripple/multisign/README.md and
 o src/ripple/app/transactors/SetSignerList.cpp.

That documentation is moved to a location where it is slightly
more likely to be discovered.