New updates

Added some new updates to the library that makes it more functional. 
1. Added listener for the database so your application can do a certain action during upgrade creation and other methods.
2. Also added a method to reset the DB (such as a full deletion and recreation)
3. Added configuration option for DBBatchSaveQueue to grow or shrink the save size
4. added a type param to the TypeSerializer so we can use strict type safety.