Add command API, command handling and event sourcing infrastructure

Aggregates https://github.com/SURFnet/Stepup-Middleware/pull/4, https://github.com/SURFnet/Stepup-Middleware/pull/5, https://github.com/SURFnet/Stepup-Middleware/pull/6, https://github.com/SURFnet/Stepup-Middleware/pull/7, https://github.com/SURFnet/Stepup-Middleware/pull/8, https://github.com/SURFnet/Stepup-Middleware/pull/9