Use make_ref() before selective_receive for VM message queue optimization
Merge pull request #3 from jaynel/selective-receive

Use make_ref() before selective_receive for VM message queue optimizatio...
Add unit test to ensure a new value added to cache doesn't block existing key fetches
Don't let a slow datum init block other key requests
Don't code load in datum_loop; remove commented out code
Ensure relaunches of Reaper are also monitored
Ensure relaunches of Reaper are also monitored
Don't scan the full ets table to find the only DOWN datum pid
Add type declarations to records; reduce repeated use of now() and calendar module
Merge pull request #4 from jaynel/selective-receive

Ensure a new value added to cache doesn't block existing key fetches
Rewrite and validate reap_oldest; don't bump active when querying last_active
Reformatting only, no functional change
Fix dirty replacement to update and to correctly adjust cache size
Add garbage_collect after M:F initializes new datum pid
More efficient random data selection, no unit test yet
Verify and correct rand and rand_key with unit tests
Optimize tail of rand when no more Datum_Pids are needed
Merge pull request #5 from jaynel/selective-receive

Rewrite and validate reap_oldest
Added timer to give cache time to empty
Log M:F crashes when launching a new datum value pid