Upgrade and pin Behat and dependencies, refs T299

Summary: Newer versions seem to break the HTML tests. Locking in a version of Goutte as well.

Test Plan:
```
bin/behat -c application/tests/behat.yml -f progress application/tests/features/api.oauth.feature
```

Reviewers: rjmackay, dkobia, eyedol

Subscribers: lkamau

Maniphest Tasks: T299

Differential Revision: https://phabricator.ushahidi.com/D125
Fix JSONP formatter, fixes T300

Summary:
By separating options fetching from the rest of the method, it becomes possible
to change them in extensions.

Test Plan:
```
bin/behat -c application/tests/behat.yml -f progress application/tests/features/api.posts.feature
```

Reviewers: eyedol, rjmackay

Reviewed By: eyedol, rjmackay

Subscribers: dkobia

Maniphest Tasks: T300

Differential Revision: https://phabricator.ushahidi.com/D124
Set a client secret for the default ushahidiui client, refs T258

Summary: New version of the OAuth server (bshaffer) does not allow an empty client secret.

Test Plan: Try to login.

Reviewers: brianherbert, eyedol, rjmackay

Subscribers: dkobia

Maniphest Tasks: T258

Differential Revision: https://phabricator.ushahidi.com/D126
Revert "Set a client secret for the default ushahidiui client, refs T258"

This reverts commit d4af64e04f5e2cc1b43c76d1a09b9d1f40044d1b.
Prototype of API explorer, refs T168

Summary:
  # Made a rudimentary layout
  # Added a custom JSON syntax highlighter using `JSON.stringify` to pretty print it
  # Feature projected both the view and the link to api explorer in the tools menu
  # Implemented most of the endpoints

Still not sure how to handle POST, PUT and DELETE methods in terms of how to pass the data. Should we generate sample data for submission or allow users to submit their own sample data. Do we want to allow data manipulation via the API explorer ?

Test Plan:
- regenerate `style.css`
- go to `#settings/sites`
- enable `api_explorer`
- go to `#apiexplorer`
- click some methods

Reviewers: shadowhand, rjmackay

Reviewed By: shadowhand, rjmackay

Subscribers: sebm90, eyedol, seth

Maniphest Tasks: T168

Differential Revision: https://phabricator.ushahidi.com/D17
Prototype of API explorer, refs T168

Summary:
  # Made a rudimentary layout
  # Added a custom JSON syntax highlighter using `JSON.stringify` to pretty print it
  # Feature projected both the view and the link to api explorer in the tools menu
  # Implemented most of the endpoints

Still not sure how to handle POST, PUT and DELETE methods in terms of how to pass the data. Should we generate sample data for submission or allow users to submit their own sample data. Do we want to allow data manipulation via the API explorer ?

Test Plan:
- regenerate `style.css`
- go to `#settings/sites`
- enable `api_explorer`
- go to `#apiexplorer`
- click some methods

Reviewers: shadowhand, rjmackay

Reviewed By: shadowhand, rjmackay

Subscribers: sebm90, eyedol, seth

Maniphest Tasks: T168

Differential Revision: https://phabricator.ushahidi.com/D17
Restore allowed methods in config api

Summary: Allowed method got removed by mistake. Restored it as it's required

Test Plan: bin/behat -c application/tests/behat.yml

Reviewers: shadowhand

Reviewed By: shadowhand

Differential Revision: https://phabricator.ushahidi.com/D131
Stop arc warning about lint config, fixes T304
Add a default secret for the ushahidiui client, refs T258

Summary:
- remove broken migration that tried to add the client
- add working migration the UshahidiUI module that uses config
- update Base.yml to match

Test Plan:
```
bin/behat -c application/tests/behat.yml -f progress application/tests/features/api.oauth.feature
```

Reviewers: rjmackay, dkobia

Subscribers: eyedol, brianherbert

Maniphest Tasks: T258

Differential Revision: https://phabricator.ushahidi.com/D130
Fix broken DB::update in migration, refs T258
Fix image-2x mixin for images on retina displays

Summary: Fix image-2x mixin for images on retina displays. It wasn't using the SASS image-url() helper and so it didn't find images.

Test Plan: View UI on Retina display and see that the logo now shows up

Reviewers: shadowhand

Differential Revision: https://phabricator.ushahidi.com/D135
Move default config params to individual config files in their plugins
Move data provider testing configs to individual files
Update DataProvider_Core to use different config groups, not subgroups
Remove a bit of dupe config in frontlinesms/init.php
Move default config params to individual config files in their plugins

Summary:
- Move default config params to individual config files in their plugins
- Move data provider testing configs to individual files
- Update DataProvider_Core to use different config groups, not subgroups
- Remove a bit of dupe config in frontlinesms/init.php
- Fix docblock in Email data provider

Test Plan: Run ` ./bin/behat -c application/tests/behat.yml application/tests/features/data-provider/`

Reviewers: shadowhand, eyedol

Differential Revision: https://phabricator.ushahidi.com/D136
Restructure messages and tools SCSS files
Add data provider list and config

- Pass dummy models to the view
- Generate backbone form based on data provider 'form' attribute
* moved `.actions-bar` into `partials`
* message config `action-bar` styling

Styling data provider config
* data provider card/message sources
* Data Provider Tab Nav
* individual providers config template
* Data Provider Selected States
* hardcodes DataProviderConfigSms
Hide new ui hidden behind feature config
Add data provider listing and config

Summary:
- Restructure messages and tools SCSS files
- Add data provider list and config
- Using dummy models to power views
- Generate backbone form based on data provider 'form' attribute
- Styling data provider config
  * data provider card/message sources
  * Data Provider Tab Nav
  * individual providers config template
  * Data Provider Selected States
  * hardcodes DataProviderConfigSms
- Hide new ui hidden behind feature config

Test Plan: None yet

Differential Revision: https://phabricator.ushahidi.com/D127