Fail on incomplete decode

If a transaction is not completely decoded -- that is, read all the
way through to the lock time -- then it should be rejected. (The old
behaviour was to fill in incomplete data with zeros.)