Start a new module Properties, but keep the old version in Properties-old.

This commit breaks brsim :-)

I will be reimplementing Properties from scratch in the next series of
commits.  I would like to use FGL, which should be a lot easier than
Data.Graph, especially in what concerns building the subgraphs.  However,
the functions which do not depend on the graph library in use should stay
the same, that is why I am not ditching the old code altogether.
Copy over the procedure testing if a set is conserved, together with its helper functions.
Add fgl to build deps.
In ReactionSystems, add a function for building the system from a set of reactions.
In Properties, add reduce.
Add BehaviourGraph and a function to build one.
Copy over IntersectionKind and intersectionKind.
Shorten the name of intersectionKind.
Copy over cmpInterKind.
Add isConsistent.
cmpInterKind -> grInterKind.

This function does require the supplied set of vertices to be a connected
component or anything.
Add conservedInGraph.
Fix grInterKind, which didn't even compile before.
Add cover.
Factor out mlabj.
Add singletons.
Add ConsDepGraph and a couple of ways of constructing it.
Add sources.
Avoid having loops in the cons dep graph.

That's what tacitly happens in the paper.
Add subgraph.