Cleaning up the warehouses, making most methods const, avoiding vector copies
closes #3358, #3368