bighash: add optional automatic bucket growth

This is enable by passing BIGHASH_AUTOGROW to create or init. I saw a nice
performance improvement in the TCAM module benchmarks when I added the auto
resize feature there, probably due to better cache locality. I didn't see any
performance change when I tried running a similar benchmark with bighash.

The hairy bighash_grow function is copied from the IVS TCAM module.
Merge into master from pull request #26:
Allow NULL to specify no formatting for pop-scope. (https://github.com/floodlight/bigcode/pull/26)
cjson_util module

Utility modules for parsing multilevel keys and validated datatypes.
Lifted and packaged from Indigo's configuration manager.
Remove incorrect comments.
Use aim_zmalloc().
Fix headers.
The lookup_path__ code can now safely mutate the input path directly.
Merge into master from pull request #27:
cjson_util module (https://github.com/floodlight/bigcode/pull/27)
Add file parsing support.
Merge into master from pull request #28:
Add file parsing support. (https://github.com/floodlight/bigcode/pull/28)
BigHash: fix autogrow flag
Merge into master from pull request #24:
bighash: add optional automatic bucket growth (https://github.com/floodlight/bigcode/pull/24)
Allow a hexadecimal value to be specified as a string field and retreived as an integer.
Values specified in this way must start with 0x or 0X.
Merge into master from pull request #29:
Allow hexadecimal integer formats.  (https://github.com/floodlight/bigcode/pull/29)
bighash: fix pedantic warnings

GCC complained about these when using "std=c99 -pedantic-errors -Wextra".
Merge into master from pull request #30:
bighash: fix pedantic warnings (https://github.com/floodlight/bigcode/pull/30)
PPE: add unused attribute to a few functions

Caught by Clang 3.4.
update infra

* submodules/infra 6898254...3913825 (14):
  > Merge into master from pull request #25: AIM: add wrappers for __attribute__ (https://github.com/floodlight/infra/pull/25)
  > Add aim_bitmap 512.
  > Merge into master from pull request #24: Always update the modulemake file by default. (https://github.com/floodlight/infra/pull/24)
  > Support flag maps. - Enumerations that are defined as flag bits can be registered as a flag map datatype. - Flagmap datatypes are displayed in the following format: 0x%.8x [f0,f1,f2...fn]
  > Merge into master from pull request #23: Support to check if two aim bitmaps have any intersecting bits. (https://github.com/floodlight/infra/pull/23)
  > Merge into master from pull request #21: modify log time format (https://github.com/floodlight/infra/pull/21)
  > Merge into master from pull request #22: Updates for use in shared libraries.  (https://github.com/floodlight/infra/pull/22)
  > Merge into master from pull request #20: AIM: add early check for log level (https://github.com/floodlight/infra/pull/20)
  > Merge into master from pull request #19: Allow customization of the aim_main() function name. (https://github.com/floodlight/infra/pull/19)
  > Support optional AIM library constructor/destructor. - Allows module initialization in shared library builds. - Support for this feature is GCC-specific.
  > The LIBRARY_TARGETS_LAST list must be moved to the end every time a new library is added.
  > Support the LIBRARY_LAST attribute. - Libraries that indicate the LAST attribute will always be kept at the end of the global LIBRARY_TARGETS list.   The ordering between LAST libraries is arbitrary.
  > Merge into master from pull request #18: AIM: fix aim_pvs_buffer_iterate after reset (https://github.com/floodlight/infra/pull/18)
  > Merge into master from pull request #17: Support string format and duplication using AIM datatype formatting. (https://github.com/floodlight/infra/pull/17)
Merge into master from pull request #31:
PPE: add unused attribute to a few functions (https://github.com/floodlight/bigcode/pull/31)
PPE: workaround clang-analyzer warnings

Add assertions to tell Clang that getting the field will always succeed because
we checked for its existence earlier.