Overhaul for multipartite networks

Made substantial changes to allow for multipartite netowrk creation.
Notable, added a new class NoteType, essentially a container to allow
nodes of a similar type to be grouped together.