Refactor storage/view creation and initialization
Fix race condition in FlexStorage::allocate()
Rename generated storage/ directory to storages/

This is more consistent with the name of the views/ directory.