With this, we track all of the empty, full, and low water states together. This simplifies a lot of the tracking logic, since we now don't need the cache_bin_info_t for state queries (except for some debugging).
Instead, have it take the cache_bin_info_ts to use by pointer. While we're here, add a src file for the cache bin.