Cleaning up the warehouses

making most methods const,
avoiding vector copies

closes #3358, #3368