Fix for accessing extra_data

Hey guys,

It's currently impossible to set extra data by doing something like the following:

self.storage.extra_data['foo'] = 'bar'

It's because the extra_data getter property will always return an 'anonymous' dict instance if the extra_data dict is empty.

This commit should fix that problem.