refresh styles
Format API response output using Formatters, fixes T257

Summary:
- add getMimeType to Formatter interface
- add `formatter.json` and `formatter.jsonp` services
- use Formatters in API controller for output

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

Reviewers: dkobia, rjmackay

Reviewed By: rjmackay

Subscribers: PapaLee, eyedol, lkamau

Maniphest Tasks: T257

Differential Revision: https://phabricator.ushahidi.com/D109
Revert "Implementation of tags collection API through use case, refs T238"

This reverts commit 18a592fa79a953d19521b94a87e29d8225e6e7f0.

It keeps the new `_get_paging_parameters()` method in API base controller.

Conflicts:
	application/classes/Controller/Api/Tags.php
	application/classes/Ushahidi/Formatter/API.php
	src/Ushahidi/Tool/Formatter.php
"debug" option has been removed from .arclint
Still need API::url for formatters, refs T238, refs T257
Recreate tag create use case and tests, refs T238

Summary:
- move away from Collection style
- implement tag create in api endpoint
- parsers and validators work with plains arrays
- final use case action is to create an entity
- exceptions are thrown in use case
- better spec tests

Test Plan:
```
bin/phpspec run spec/Ushahidi/Usecase/Tag/CreateSpec.php
bin/phpspec run spec/Ushahidi/Entity/TagSpec.php
```

Login/Register tests are broken by this diff and will be addressed separately.

Reviewers: dkobia, rjmackay

Reviewed By: dkobia, rjmackay

Subscribers: eyedol

Maniphest Tasks: T238

Differential Revision: https://phabricator.ushahidi.com/D112
Revert "Recreate tag create use case and tests, refs T238"

This reverts commit 16c6d105999a1a4fd8a6940b41fc9480e58c85a0.
Fixed Getting Involved link
Fix incorrect 'modelEvent' references in views

Summary:
Rename `modelEvent` to `modelEvents` in views.

Remove obselete binding to model:change event in Tag/User ListItemViews

Test Plan:
- In manage tag/user view: check that item display is updated after tag/user is edited
- Edit a tag to have the same name as another, try to save. See that validation fails, and tag in the listing isn't updated.

Reviewers: shadowhand

Reviewed By: shadowhand

Differential Revision: https://phabricator.ushahidi.com/D118
Fix API URL in ConfigModel, fixes T294

Not sure how that got broken...
Add bower support for managing JS libs

Summary:
* Add bower.json and .bowerrc files
* Load as many existing libraries as possible from bower
* remove old libs
* Update Gruntfile paths
* Update Init.js with new paths
* Update index.php view for new path to requirejs
* Remove foundation SCSS
* Remove unneeded plugins

Test Plan:
- `npm install -g bower`
- `bower install`
- Run `grunt build` and confirm everything still builds
- Load the UI and confirm all dependencies load

Reviewers: shadowhand

Reviewed By: shadowhand

Differential Revision: https://phabricator.ushahidi.com/D121
Rename Foo exceptions to FooException, fixes T270

Test Plan:
```
git grep -Pi '(catch|throw).*(Parser|Validator|Formatter|Authenticator)' -- application/ src/
```

Verify that all references are `FooException`.

Reviewers: eyedol, rjmackay

Reviewed By: rjmackay

Subscribers: dkobia

Maniphest Tasks: T270

Differential Revision: https://phabricator.ushahidi.com/D116
Add Ushahidi_Repository abstract class for basic queries, fixes T265

Summary: - implements user repo using base class

Test Plan:
- login
- register a new account

Reviewers: dkobia, rjmackay, eyedol

Reviewed By: rjmackay

Subscribers: PapaLee, lkamau

Maniphest Tasks: T265

Differential Revision: https://phabricator.ushahidi.com/D113
Create Data request object, and use it, fixes T271

Test Plan:
```
bin/phpspec run spec/Ushahidi/Usecase/User/LoginSpec.php
bin/phpspec run spec/Ushahidi/Usecase/User/RegisterSpec.php
```

Register a new account, just to be sure.

Reviewers: eyedol, dkobia, rjmackay

Reviewed By: rjmackay

Subscribers: PapaLee, lkamau

Maniphest Tasks: T271

Differential Revision: https://phabricator.ushahidi.com/D117
Quick fix to MessageModel.js to fix messages listing
Add very basic data provider list scaffolding
Rearrange data sources views

DataSourcesView -> settings/DataProviderConfig
Pass dummy model to the view
Change routes: sources -> settings/data-providers/smssync
Generate backbone form based on data provider 'form' attribute
Wire Date Sources View

* wires the Data Sources View
Workspace Messages & @extends

* restructures messages in workspace

* @extends `actions-bar`

* @extends `filter`