DB Review

Doing a full code review on the project; I reset master to the initial commit so I could PR this against it. This will be merged w/o changes once the review is complete.
Are we getting something from including assert, other than a convenient way to throw runtime errors?