Settings parent child hierarchy

This implements settings hierarchy for editor and view as discussed [here](https://github.com/limetext/lime/issues/197). closes #197
@zidoms This test is giving a false pass. Try turning it to this:

```go
func TestViewLoadSettings(t *testing.T) {
	LIME_USER_PACKETS_PATH = "../3rdparty/bundles/User/"
	LIME_PACKAGES_PATH = "packages/"

	w := GetEditor().NewWindow()
	v := w.NewFile()
	if v.Settings().Get("translate_tabs_to_spaces", true).(bool) != false {
		t.Error("Expected `translate_tabs_to_spaces` be false for a new view but is true")
	}

	v.Settings().Set("syntax", "../3rdparty/bundles/python.tmbundle/Syntaxes/Python.tmLanguage")
	if v.Settings().Get("translate_tabs_to_spaces", false).(bool) != true {
		t.Error("Expected `translate_tabs_to_spaces` be true for python syntax but is false")
	}
}
```

And run with `go test -v -run ViewLoad` and it'll fail with
```
=== RUN TestViewLoadSettings-8
--- FAIL: TestViewLoadSettings-8 (0.00 seconds)
	view_test.go:614: Expected `translate_tabs_to_spaces` be false for a new view but is true
FAIL
exit status 1
FAIL	github.com/limetext/lime/backend	0.057s
```

In other words, `backend/packages/Default/Preferences.sublime-settings` isn't loaded or something?

I ran into this trying to add
```
	// The color scheme used for coloring text content
	"color_scheme": "../../3rdparty/bundles/TextMate-Themes/Monokai.tmTheme",
```
to that settings file, but then doing `Get("color_scheme")` on a view returns nothing...