OZP-98: Adding preference.js from OWF 7
OZP-65: initial new preferences code
OZP-65: Adding license header to old preference.js
OZP-65: new preferences API
OWF-17: allow user to update pane type via dragging
Merge branch 'master' into feature/ozp-150-create-dashboard
Merge branch 'research/new-preferences-api' into feature/ozp-65-preferences-api
OZP-65: Reorganizing files
OZP-65: Beginning of legacy prefs API
OZP-65: Cleaning up uneeded web.xml
OZP-17: refactor, convert layoutConfig to designer format when designing and to dashboard when saving
Merge branch 'master' into feature/ozp-150-create-dashboard
OZP-64: Legacy preferences functions
Merge branch 'master' into feature/ozp-64-preferences-api

Getting updates of other JavaScript APIs
OZP-64: Changing file structure to match oher APIs
OZP-17: fix reset and css

- reset shouldn't remove widgets
- do not nest when dropping outside panes
OZP-64 REST endpoints and services for Preference
OZP-244 Added group container logic
OZP-150: progress on create and edit dashboard window
OZP-64: Creating promise-syle RPC methods

Moved promise-based RPC logic from preferences into Comms so it
can be reused in other APIs