Made Viewer ignore plugs with names starting "__".

This is the convention used elsewhere for internal plugs which shouldn't be presented to the user.
Reimplemented GafferUI.Metadata in C++.
Added node description to NodeGadget tooltips.

Fixes #157. That issue does discuss showing object counts and other things, of which I'm quite skeptical - I think it'll be too expensive. No doubt there is additional information which could go be displayed though, so the tooltip will also show a "summary" Metadata item if it has been registered - this will allow individual node types to add useful information by registering a dynamic Metadata item.