clarify the creation of superuser accounts

The lack of documentation on superuser account creation obviously could
cause confusion, see
<http://www.meta-share.org/portal/forum/question/72/0>.
handle exception when a just being registered user account is deleted

Thanks to Jorge Vivaldi for reporting this bug in the META-SHARE Forum
at <http://www.meta-share.org/portal/forum/question/75/0>.
Merge pull request #693 from cspurk/master

fix two problems that were reported in the META-SHARE Forum
workaround for #620: compute binary LR data checksum only when necessary

For large binary LR data (e.g. >100GB), the checksum computation may
take a long time. Instead of computing the checksum on each storage
update, we only (re)compute the checksum, when the binary data changes.

This hopefully fixes #620 and related problems for the moment.

In the future we should review the checksum usage in general: is the
checksum field required at all? It appears to not really be used at the
moment.
further reduce the binary LR data checksum computations to a minimum

For large binary LR data (e.g. >100GB), the checksum computation may
take a long time. Computing the checksum each time a download is
requested in the UI will probably not work: the user will have to wait a
very long time for the download to start. What is more, the calculated
checksum is not really used in such cases!

With this commit, the checksums are only computed when binary data is
uploaded or added to the storage folder. However, as the checksums are
not used anywhere, we should review the checksum usage in the future: is
the checksum field required at all?
name the now publicly used checksum computation method more suitably
Merge pull request #696 from cspurk/master

reduce the binary LR data checksum computations to a minimum
fix: never try to distribute remote resources during the synchronization
Merge pull request #697 from cspurk/master

fix: never try to distribute remote resources during the synchronization
added command to remove invalid links from recommendations that point
to removed resources
Merge pull request #698 from jsteffen/master

added repair_recommendations command
added missing files for repair_recommendations command
Merge pull request #699 from jsteffen/master

added missing files for repair_recommendations command
make the synchronization with proxied nodes a little more robust

For proxy copies it is sufficient to only store the latest revision of
the `metadata.xml` file. In order to be robust against remote changes
without revision number updates (as in the recent v2.9-beta→v3.0
migration), we always recreate this latest `metadata.xml` copy.
fix bad dict creation
Merge pull request #700 from cspurk/master

robustness fix and minor bug fix
add a class which can create locks that work between multiple processes

The class currently only supports Unix systems. On other platforms, a
warning is logged once; otherwise any locking attempts will silently be ignored.
add locks to management commands which often run in different processes

Currently only locking for basic storage operations is performed.
make sure to (more) correctly import `xs:anyURI` values from XML

If we have an `xs:anyURI` value, then it must be a URI according to RFC
2396 or it must result in such a URI after applying the algorithm from
<http://www.w3.org/TR/2001/REC-xlink-20010627/#link-locators>. So far we
have not verified this, i.e., we have imported unprocessed `xs:anyURI`
values but always treated them as valid URIs.
change the used validator for URI values in our models

Using a `URLValidator` here is probably the best trade-off between a
fully correct URI validator (plus our XML Schema constraints) and
simplicity/maintainability. In addition, the `URLValidator` probably
comes closer to the “intended” validation requirements of the XML Schema
authors than a standards compliant URI validator.