Add freelist stats to db stats

This is fairly straightforward, the only twist is adding freelist.count() because freelist.size() used to call freelist.all() which is fairly expensive (this may actually shave off a bit of time from write transactions, freelist.all() used to show up in our profiles in non-trivial amounts as well).

@benbjohnson 

/cc @snormore, @charlescng 
OK, so move the stats.Freelist* updates to the write branch in tx.go?