Massive refactoring of the code.

* Renamed the distribution to `cora`.
* Turned into a standard python package.
* Reorganised the packages into a new hierarchy.
  - All imports are under `cora/`
  - Split `simulation` package into `core`, `signal` and `foreground`.
* Started to add `sphinx` documentation.