Nest to nest matching implemented

An empty nest matches any nest.
Fixed a bug creating a widget from JSON

Was treating parts of widgets (e.g. a robot's actions) as a widget.
Nests in conditions no longer connected to original

Fixes #123.
Added support for robots manipulating nests

If a robot is trained to pick up a nest then it will do so even if the
nest is covered.

Also fixed a bug in paths to backside elements.

And removed obsolete code.
Getting the side of undefined now returns undefined
Added comments and removed commented out code
Removed obsolete code
Replaced special handling of nests by robots

Robots dropping a nest now rely upon a more general mechanism that
doesn't interfere with dropping empty nests (without an egg) by robots.
Only front sides of robots run

When both front and back side of a robot was on the back side of a
widget the robot ran twice.
Fixed a bug in robots manipulating nests

They weren't being removed from the container when picked up.
When robot drops widget no longer absolute position

Was causing rendering problems.
Prevents backside from running if front side is

Was causing robots to run twice.
Added comments.
Added error reporting when saving to localStorage
Birds return to start when on back side

If a bird on the back side of a widget is given something it now returns
to where it started.
Generalised the way robots remove from nests

Robots can be trained to remove things from nests regardless of where
the nest is (previously only worked when nest was in a box). Path code
cleaned up as well.
Element widgets secure and simpler

HTML is not editable but the text is (if there is some). If non-text
element no text area displayed.
Added error reporting when loading old state
Fixed an IE-only drag and drop bug
Birds no longer take their nest to their nest

Fixes #126.