Updated the allocation of components in storage
Multiple changes

- Added component storage space reservation.
- Added entity keys to manager for faster access.
- Added reference counted shared_component.
- Added new overload of for_each to manager.
- Added the select* functions to manager.