collect: symbolic link storage

* Adds a symbolic link storage for developers. To enable it, put this
  to your config: COLLECT_STORAGE = u"invenio.ext.collect.storage.link"
  then run `inveniomanage collect` to create all the links from the
  static folders to the intance folder.

* NOTE: only files are symlinked, not folders!

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>

base: deprecation of `STATIC_MAP`

* Deleting `STATIC_MAP` and all its links. All the files should be
  served from the instance_path directory via collect.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>

travis: collection of the static files

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>

docs: documentation for collect during INSTALL

* Adds the `inveniomanage collect` step to the INSTALL documentation as
  it's now required.

* Renames INSTALL to INSTALL.rst.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>

script: registry usage for managers

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>

script: refactoring of manager loading

* NOTE enables `inveniomanage clean` command.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>

collect: bugfix to not symlink yourself

* Removes the destination folder from the list of folder to read from.
  The destination folder is also the application static_folder so it be
  unset before running the collect operation.

* Ignores the existing files in the output log of the command and
  showing only the one added, with a nice counter at the end.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reported-by: Jan Åge Lavik <jan.age.lavik@cern.ch>

collect: bugfix to not symlink yourself done right

* Using a FakeApp to not interfer with the real app. The previous fix
  was unsetting the static_folder globally.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>

deposit: fix for flag checking

Signed-off-by: Jake Cowton <jake.calum.cowton@cern.ch>
-s
restful: added a validator for restful API

*The validator has support to check if a datetime string is
in UTC ISO format. Also the validator transforms the format of
error messages in order to be a list of dictionaries.
Dictionaries have the format {"code":c,"message":"a message", "field":f}

Signed-off-by: Konstantinos Kostis <konstantinos.kostis@cern.ch>