Refactoring type value

Now each type value that is backed by an attribute knows how to
instantiate an instance of its value from a string.
We can leverage this to clean up some of the code for them.

A few things...

1. Not sure what's up with Arrays. Why is it even possible to have array
of nodes? That makes no sense. Lets keep the attributes + user defined
types and the primitives (node, port, etc) separate...
2. Fuck checkstyle
3. Removed a bunch of boiler plate from testing. yey.
4. Currently using a sub-abstract class of TypeValue. Maybe it makes more
sense to have instantiate for everything? Maybe use generics?
5. Seriously fuck checkstyle. eg. Look at TestConnectionType and how the
instantiation of noAttributes has the equal sign on a new fucking line.
Fuck checkstyle line limits. I vote we relax line width (warn instead of
fail). This is getting ridiculous.
80 characters is such an archaic restriction. It's been years since 80 char wide terminals and having a hard fail doesn't make sense anymore. It's not just tests - the restriction is annoying everywhere.