allow for "current" datastore along with existing "history" datastore
add implicit RequestId to all functions/messages so we can track requests through the system
track source of records so we can do conditional updates (RecordSet)
refactor Collection to pull out data processing and refresh logic
refactor Elector to pull out election poller
add more metrics
resolve several race conditions through RecordSet metadata
analyze ElasticSearch responses for errors
add custom execution contexts to move operations into dedicated thread pools
refactor AwsClient, create from account and configuration
remove unused MonitoredForkJoinPool
try to work around timing issues in test
update for tests so they can syncronize on messages before we check for expected state
Merge pull request #44 from coryb/refactor

Refactor for tracing, isolation, performance, metrics
* adding new current datastore that tracks "live" records in s3 to make
  reloading current state more efficient. Takes load off mongo/elasticsearch
  datastores.
* add dynamodb support for consistency checks on s3 reads/writes
* upgrading aws-java-sdk for dynamo support
Merge pull request #45 from coryb/s3current

add S3Current datastore to track/persist live records to s3
add simple elector based on file to easy testing
add elector based on dynamo write consistency checks
add aws/subnets collection
cache collections to disk so we can efficiently serve the _expand all
requests through an apache rewrite rule
Merge pull request #46 from coryb/fileelector

add simple elector based on file to easy testing
Merge pull request #47 from coryb/dynamoelector

add elector based on dynamo write consistency checks
remove stray char
Merge pull request #48 from coryb/aws.subnets

add aws/subnets collection
Merge pull request #49 from coryb/disk-cache

cache collection state to disk
aws-java-sdk hack no longer neccessary for netflix oss build