MicroElement and MicroProperty implemented so Path objects don't contain fully serialized graph objects. With this, we now have back()-step, as()-step, and valid path()-step. Path now supports forEach(BiConsumer<String,Object>) for easy iteration Java8-style. GraphMemory requires a getGraph() method which is necessary for GlobalMessage passing (e.g. g.query().ids().vertices()). This is a really cool commit -- next big hurdle is loop()-step.