Remove support for version 5.3 of PHP

- Remove checking of `JSON_PRETTY_PRINT` constant from code examples
- Remove PHP 5.3 version from Travis settings file
- Update "composer.json" file with the minimum supported PHP version
- Update "README.md" icons (Travis, Scrutinizer, Packagist, Bitdeli)
- Update "README.md" with the minimum supported PHP version
Convert Exceptions to array on Context::toArray()

When converting to array if a value is an exception object, converts its
data to array instead of just create a key for the value.
Move PHPUnit unit tests to "tests/unit"

- Add `autoload-dev` directive to "composer.json" file
- Move `TestCase` class to `Arara\Test` namespace
Use "uopz" PECL extension to overwrite functions

- Add "composer.lock" file to the repository
- Add instalation of "uopz" PECL extension in Scrutinizer settings
- Add instalation of "uopz" PECL extension in Travis settings
- Create methods `overwrite()` and `restor()` on `Arara\Test\TestCase`
  class to help overwriting and restoring PHP functions
- Remove `pcntl_*` and `posix_*` overwritten functions
- Remove "bootstrap.php" file used as boottrap in PHPUnit test suite
Remove "event" property from Context object

Since when you trigger an event on some action you pass the event as
parameter there is no need to update Context data specially because it
changes every time.
Create PHPT functional tests in "tests/functional"