Reworked on how storage are determinde

1. Move storage into backends/storage
2. Renamed the function in backend.__init__ to get_storage_backend and get_metadata_backend
3. Reworked on how to initialize storage on field

This should resolve #25