Replace hamcrest with assertj, annotate and clean up

Uses assertj for tests and improves the formatting of the code.
Adds Feature inventory annotation.