Node.toMap(), Action.toMap(), Value is a map.

- Added Node.toMap() and Action.toMap(), which output to a JSON-like map that goes with the draft nodeAPI specification.
- Added more variables to Node.
- Changing Value.value now checks to see if it's a different value before settings.
- Fixed some things in value. I didn't read the draft right...