Merges v5.1.2 from branch 'Anathema_2e' of https://github.com/anathema/anathema

Conflicts:
	gradle.properties
De-couples choice what to color from choice how to color it.
(Refactoring after #343)
Moves coloring decisions to separate classes
(Refactoring after #343)
Moves "contains" decision to CharmGroup
(Refactoring after #343)
Removes "I"s from Interfaces names