Simplify multi-dimensional arrays

Following on from #1, I have updated the recursive array to not require the 'key' key, instead it checks to see if the option value is an associative array to decide what sort of node it is looking at. I have also added an example to show this in use.

Could do with another set of eyes to check I'm not missing anything (tempted to setup some unit tests).