Storage/file improvements

As discussed in https://github.com/inveniosoftware/invenio/issues/2353
@jmartinm should it be `if` or `elif` branch?