Modifications to intermediate representation

Some things here that we should probably discuss...

1. I'm confused why so many things are/were mutable. Do we actually need
mutable values for stuff like the attributes? I almost wrote some type
checking for those vs. the actual attributes defined in the type but
didnt since I feel like it would be better to set attributes on
construction and just not worry about them anymore. 

2. I made a change which gives nodes better ownership of their ports,
but I'm still not entirely satisfied with this. This partially ties in
with #1.

3. Made some changes to a few unit tests that were giving issues, using
the @Before junit annotation to get rid of some duplicate code.

4. We should add a task to refactor everything to use the Attribute
code.

5. Current serialization is actually broken since adding the parent node
introduced a cyclic dependency, causing a stack overflow :P That test is
on @Ignore for now until I write the actual serializer.
refactor: remove references to Definition
Merge pull request #111 from mtrberzi/issue89-refactoring

refactor: remove references to Definition
local refactor whdl->manifold
Merge remote-tracking branch 'upstream/master'

GAAAAH this merge was so dumb. I just took my version of each file
because the diff was being dumb and just marked entire chunks of code as
being different. I don't think anyone had conflicting changes with me
(let me know if there are)

Conflicts:
	src/main/java/org/manifold/intermediate/Connection.java
	src/main/java/org/manifold/intermediate/Node.java
	src/main/java/org/manifold/intermediate/NodeType.java
	src/main/java/org/manifold/intermediate/Port.java
	src/main/java/org/manifold/intermediate/PortType.java
	src/main/java/org/manifold/intermediate/Schematic.java
	src/main/java/org/manifold/intermediate/Value.java
	src/test/java/org/manifold/intermediate/TestConnection.java
	src/test/java/org/manifold/intermediate/TestNode.java
	src/test/java/org/manifold/intermediate/TestPort.java
	src/test/java/org/manifold/intermediate/TestSchematic.java
	src/test/java/org/manifold/intermediate/TestSerialization.java
Removed Definitions... again...

The diff was poorly displayed. This should get it back into the same
state. Let me know if there's any other changes that I need to apply.
Merge pull request #109 from maxqchen/master

Modifications to intermediate representation