Generalize custom function arguments

Custom function arguments in the command line interface can now be
either a Python expression or importable name. For example, all commands
accepting a summary function argument, also except a custom summary
function argument which should be one of:

1. A Python expression over the NumPy ndarray `values` (e.g.,
   "np.max(values)").
2. An importable name (e.g., "package.module.summary") that can be
   called with an ndarray as argument.

Likewise for custom merger and pairwise functions (here the expression
is over the two NumPy ndarrays `left` and `right`).
Merge branch 'custom-functions' into 'master'

Generalize custom function arguments

Following the more general approach from Wiggelen. See the commit message for more info.

See merge request !8
Sphinx documentation
Merge branch 'wip/sphinx' into 'master'

Sphinx documentation

Moved the presentation and presentation-pics submodules to the new `presentations` directory, so you might have to:

```
rm -R presentation presentation-pics
git submodule init
git submodule update
```

See merge request !9
Fix profile selection in distr