Add serial num to interrogate, fix bugs.

- Add serial number collection to interrogate
  - Add WMI artifact and parser
  - Add dmidecode to execution whitelist
  - Add hardware info to client object
- Fix test loading, and some tests that weren't being run correctly
- Add check for Gets of non existant attributes when an explicit type is passed
  to open
- Fix generation of client summary object during interrogate, don't store it in
  the client object anymore, generate on demand.
- Add checks for modifying of config lib constants
- Small refactor of http datastore to use more GRR-standard components, created
  more configurable options
- Removed protobuf descriptor-generating code from export.py. Instead,
  generating dynamic RDFValue class there and relying on EmitProtoDescriptor to
  generate correct descriptor on export. Also fixes
  https://github.com/google/grr/issues/64