Copy ec_plists from erlware_commons

The 0.9.0 tagged release of erlware_commons depends on the master
branch of neotoma, which introduces conflicts for chef_index.  That
and other issues have prompted us to just bypass erlware_commons
altogether.
Make ec_plists dialyze with our settings
Re-tool S3 deletion to use new erlware_commons

Uses new 0.9.0 erlware_commons to chunk and parallelize S3 delete
operations.

Also externalizes fanout and timeout parameters in app.config for more
tweakability.
Address code review comments
Use ec_plists for checksum lookup, too.

This also introduces a big refactoring and reconsolidation of the
parallelization code and surrounding helpers.
Create chef_config module

Extracts previously private functionality from chef_s3_ops
Harmonized return types for S3 op functions

Now both checking and deleting return tuples with lists of checksums
for all of the 'ok', 'missing', 'timeout', and 'error' states.
Tests for type-safe config retrieval
Address more review comments
More refactoring: chef_parallel

Extract timeout-aware parallelization code and make it fully generalizable for use elsewhere in Erchef.

Re-do chef_s3_ops to account for it.
Repent for whitespace sins
Export useful funs for debugging
Merge branch 'cm/OC-5178/erlware_commons'