Add gulp task for configuring settings directives

- created task "directives:html2js" to take any directives within settings and produce a JS template of the HTML template
- add "directives:html2js" task as a prerequisite to "source" task
Initial layout-setting directive integrated

- settings HTML updated to add the directive and import the files
- translation added
- controller updated to include layout data object in additionalParams
- added directive
- added directive HTML with just the checkbox to start
Revising settings layout UI

- Removed custom directive files and removed previous gulp changes for processing directives
- Layout UI added to settings HTML
- Controller updated to provide default values for `layout` and also handle logic for validity on the url-field directive to work with the "default layout" checkbox
- settings app updated to include url-field as a dependency
Settings layout e2e tests

- Removed `url: ""` from layout object property in controller, mock-data, and scenarios as this causes $setValidity to be called twice within the url-field directive in e2e testing due to particular $watch happening in url-field. Everything works correctly without it.
- Added tests to cover layout UI
Initial refactoring of widget code and infrastructure

- removed all sass files and "widget-styles" gulp task to now put widget table layout css inline in the HTML
- adding new "table.html" which is widget.html but with inline css and imports new "content.js"
- adding new "content.js" as a start to refactoring the core content code so it can accommodate custom layouts
- refactored "spreadsheet.js" to improve its flow and logic and create/initialize the content
- renaming "widget-scenarios" to "table-scenarios" and temporarily commenting out majority of tests
Implementing custom layout logic

- content.js updated to handle all accounts of custom layouts
- adding images.js to handle the loading of all image and qr code images
- table HTML updated to include import of images.js
Revising settings to correctly save layout urls

- settings HTML updated to change `ng-show` to `ng-if` for `url-entry` directive to avoid the problem of it validating when not being displayed
- adding a `config` module in config files to define value `defaultLayout` for settings app, the value is temporary for testing purposes
- controller logic updated to remove previous $setValidity logic which is no longer needed and also added `layoutURL` to `params` and `customURL` to `additionalParams.layout`
- settings app updated to use new `config` module
- tests fixed
Integrating building a menu for responsive layout

- `content.js` updated to include new function `_buildMenu` for building a menu for a responsive layout
- e2e tests for widget table `table-scenarios.js` turned on again and passing
- adding `images.js` to list of dependencies for unit testing widget
- added `images-spec.js` for unit testing the Images module responsible for loading spreadsheet images
Fixes and improvements

- doing away with "container" and only using "scrollContainer" now
- fix with images.js, ensuring to check length of array
- fixes and refactoring in content.js regarding scrolling, "scrollContainer" references, applying #scrollContainer sizes
Fixes with building menu

- tweaks to `_buildMenu` function to correct some visual issues
- fixed the reference of ".page" when instantiating `_dataTable` in a custom layout table
Removing code that accounts for a responsive layout

- This is to possible later integrate tablesaw instead
Add circle.yml, remove bucket param, remove common-style

- adding circle.yml file
- widget-settings-ui-components brings in a specific version of common-style, no need to include common-style in bower
- fixed broken tests due to an update to google-spreadsheet-controls