Reorganize cabal file so that most of the code is a library.

There is a small executable that depends on the library. This makes it more
convenient to have several executables with all of them linking to the same
library.
Implement password changing in the administrator panel.
In the HTTP services, implement a redirect from / to the relevant content.