removing storage name from Metadata as first class citizen, replacing it with annotations (merged with emils changes)

Merged with Emil's changes and incorporated previous CR feedback

@anpete @emilcicos 
We already have ToTable defined, but I agree that we don't need a second one most likely. Originally we had ToTable AND StorageName setter but I guess setter was just inherited from the base and essentially doing the same