Use algo.monads to chain event functions

Defined an events-m monad that can be used to chain functions that return
values like
  [actual-value [events]]
which concatenates the collected events.
Add a foreman Procfile for development
Move tests to test.
Add initial population bank.
WIP: increase population.