Limit keys per record for JSON and MsgPack files

Changes:
* check each record parsed from JSON or MsgPack file and ensure
  that the number of keys does not exceed the hard limit of
  512 per record. Reject the record if it does
* added new exception class ImportError
* added handling of ImportError exceptions in runner.rb to
  suppress displaying stack traces
* moved the validation of the parsed input from JSON and Msgpack
  files to a generic base class StructuredParser to reduce
  code duplication between the two classes

Implements CLT-347