Major refactoring

- Ensuring `instanceof` operator works as planned for promises
- Refactored `data()`, `datalist()` & `filter()` to implement instances of `DataStore`, `DataList` & `DataListFilter`
- Renamed (internally) `observer.hook()` to `observer.decorate()`
- Refactored `observer.decorate()` to implement `utility.property()`
- Updated API with `abaaso.observerable()` / `$.observerable()`
- Fixed alphabetical order in the updated files
- Updated docblocks