More groundwork.

Added batched request fetching -- A large number of items can be fetched
in a single Fetch operation via FetchDataVector, which can optionally
batch the items into smaller chunks for easier digestion by the server.

Added more database plumbing, the entire item database is fetched when
initialized, and a simple functor based query operation is implemented.