Split Mutable into directed/undirected versions

Does the proposed split. If @kortschak has a different version, feel free to open another PR and we can compare/contrast. This takes into account issue #11.