Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
The [peg form](https://github.com/limetext/lime/blob/master/backend/loaders/json/json.peg) is much easier to read, and yes it supports trailing commas (see usage of the JunkComma directive).