Refactored BranchCreators to avoid unnecessary hashing overhead.

There were various circumstances where we were calling the base class hash methods only to reassign to the hash rather than append to it. By moving the responsibility of calling the base class from BranchCreator to its subclasses, we can avoid that overhead. The only results in a very mild (a few percent) speedup in my test case, but it also brings the branch hashing logic in line with that used elsewhere, which hopefully helps make everything a little more understandable.
Used InternedString( int ) constructor in Instancer.

This avoids a lexical_cast<> in the case that the appropriate string as already been constructed elsewhere.
Removed BranchCreator "name" plug.

It should be entirely up to the derived classes what the created branch looks like, and it should be possible to have multiple root entries in the branch - this is to facilitate the creation of a Parent node. Instancer and Seeds nodes still have a "name" plug, but are now responsible for using it themselves.
WIP.