refactored JSON iterator

Drastically changed the way the JsonExtended iterator works. Removed
redundant loop and tested for nested properties further than two levels
deep.

Everything seems to work so far.

Also included lots of comments and debugging points for myself to work
with.
Merge branch 'experimental'