Unified Test Runner

Summary: this adds a single command that can be used to run all tests and receive a single result, both in the VM and in TravisCI

Test Plan:
run `bin/tests` to install the prereqs and run all the tests

run `bin/tests help` to see the command usage

run `bin/tests install` to install the prereqs then `bin/tests run --no-install` to run without installing (which is what TravisCI will do using `before_script` & `script`)

try running from any current working directory... the script should work from anywhere

I tried using https://github.com/jolicode/JoliCi to test the travis script, but couldn't get it to run properly. Both travis commands work when tested locally, and the exit codes are correct, so the travis build should work but will need to be tested live.

Reviewers: rjmackay, vladimir, shadowhand

Reviewed By: shadowhand

Differential Revision: https://phabricator.ushahidi.com/D459
Switch to a single root namespace for all of Ushahidi, refs T846

Summary:
- switch from PSR-0 to PSR-4
- update namespaces:
  - `Ushahidi` -> `Ushahidi\Core`
  - `UshahidiApi` -> `Ushahidi\Api`
  - `Ushahidi\Factory` -> `Ushahidi\Factory` (out of `Core`)
- update to phpspec 2.1 for PSR-4 support
- update tests as necessary

Test Plan:
```
composer install
bin/phpspec run
bin/behat -c application/tests/behat.yml -f progress
```

to revert back after testing:

```
composer install
```

Reviewers: vladimir, aMoniker

Reviewed By: aMoniker

Subscribers: dkobia, srutto, rjmackay

Maniphest Tasks: T846

Differential Revision: https://phabricator.ushahidi.com/D480
Add initial support for custom date formatting, refs T223

Summary:
- add `Ushahidi\Tool\Date` class
- add "date_format" key to site config
- include spec test

Test Plan:
```
bin/phpspec run spec/Ushahidi/Tool/DateSpec.php
```

Reviewers: vladimir, aMoniker

Reviewed By: vladimir

Subscribers: srutto, rjmackay, sheesh, bodacea

Maniphest Tasks: T223

Differential Revision: https://phabricator.ushahidi.com/D466
Missed one namespace change, refs T846
add form.create parser and FormData
initial implementation of forms.create complete
the same parser for create/update
reuse validator
validators
update parsers
Complete architecture for Form endpoint, refs T848

Summary:
- convert controller to REST
- add DI mappings and supporting classes
- reuse read/write when possible

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

Reviewers: vladimir, aMoniker, sheesh

Subscribers: spaudanjo, rjmackay, srutto

Maniphest Tasks: T848

Differential Revision: https://phabricator.ushahidi.com/D475
forgot to delete the old create_or_update
move regex to Validator constant
rebase
tweak how disabled is handled, add default
disable the import2x test for now
namespace