Read app config key bulk_fetch_batch_size on every request

The underlying bulk fetch mechanism provided by chef_db is now more
flexible and allows fetching batches of arbitrary size. In order to be
able to explore the impact of batch size in a live system, we want to
be able to tune the batch size without restarting.

This patch removes batch_size from the #base_state{} record and
removes it from the do-once-at-startup config value set. The app
config value is accessed on a per request basis to allow for live
changes.

Additionally, it is now the case that a missing or invalid config
value will cause an error to be logged, but a default value of 5 to be
used.
Fix precondition_failed helper function

The helper was guarded on atom, but could be called with error
tuples. Dialyzer found it.