perf optimization and interface simplification

@dmhood 

* no longer initializing meta in constructor, since scanning records to build meta is only needed when we need to purge
* constructor is back to synchronous
* use async.mapSeries to guarantee purge order
* eliminates recursive call to purge()
* remove scanSize option. just use purgeLoadIncrase, for API simplicity
Is there a reason to pull in all of async instead of using https://github.com/jb55/async-each-series (or some similar micro-lib)?