Handle invalid requirements for the `-r` parameter

Both the install and uninstall commands now receive an
`argparse.FileType` instance instead of a path, so all the logic to deal
with missing files is in `argparse`;

The function `expand_requirements()` was changed to receive a file
object instead of a path string.
First step on documenting curdling

The base for a documentation project was established using
Sphinx. A brief description of the usage and design of the
software was added to this version but there is still a
lot to do.
Rename the parameter --user-database-path to --user-db on curd-server
Documentation updates

 * GitHub button and better links on the sidebar;

 * Initial documentation for the distributed cache system;

 * Added a quick install section to the index;

 * Document the uninstall command;
Documentation improvements