Allow nodes to have multiple names similar to css

The name field of a shape or element currently only supports a single name, but the find selector mimics css which supports multiple class names per node. This enhancement allows the name field to also support multiple names. 

For example you could name a circle: 'red circle' and a square: 'red square', and now stage.find('.red') will return both elements, but stage.find('.square') will return just the square.
Unit Tests :: added Kinetic._addName
KineticJS Unit Tests :: find with multiple names

Added unit tests to find nodes by name that have multiple names
Merge branch 'patch-1' of github.com:mattslocum/KineticJS into mattslocum-patch-1
clean tests and adding docs
Merge branch 'mattslocum-patch-1'