Create AttributeSet for use by Nodes and Ports

Not doing verification against list of possible attribute names and
types yet.

Fixes  #81 
We should not error pass strings directly into exceptions like this. Not your fault, Tyson, I'll make new issues to address the problem.