Assignment conflicts

Added basic functionality inside penalty calculation to build up a map
of assignments to conflicting assignment names. This will be used for
the extension rules.