Merge branch 'release/2.3.0' into develop
Use flat badges and correct green color [ci skip]
Update dependencies.
Updated Travis configuration & code-style fixes.
Added contact details to README [ci skip].
Implemented PHP code caching in order to take advantage of byte code caches, etc.

DEVELOP BRANCH
--------------

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient).....done

Server Software:
Server Hostname:        localhost
Server Port:            8000

Document Path:          /
Document Length:        1 bytes

Concurrency Level:      1
Time taken for tests:   2.653 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      11200 bytes
HTML transferred:       100 bytes
Requests per second:    37.69 [#/sec] (mean)
Time per request:       26.531 [ms] (mean)
Time per request:       26.531 [ms] (mean, across all concurrent requests)
Transfer rate:          4.12 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    23   26   1.8     27      31
Waiting:       23   26   1.8     27      31
Total:         23   26   1.9     27      31

Percentage of the requests served within a certain time (ms)
  50%     27
  66%     28
  75%     28
  80%     28
  90%     28
  95%     29
  98%     30
  99%     31
 100%     31 (longest request)

FEATURE/CODEGEN BRANCH
----------------------

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient).....done

Server Software:
Server Hostname:        localhost
Server Port:            8000

Document Path:          /
Document Length:        1 bytes

Concurrency Level:      1
Time taken for tests:   0.607 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      11200 bytes
HTML transferred:       100 bytes
Requests per second:    164.63 [#/sec] (mean)
Time per request:       6.074 [ms] (mean)
Time per request:       6.074 [ms] (mean, across all concurrent requests)
Transfer rate:          18.01 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:     5    6   1.2      5      10
Waiting:        5    6   1.1      5      10
Total:          5    6   1.2      5      11

Percentage of the requests served within a certain time (ms)
  50%      5
  66%      7
  75%      7
  80%      7
  90%      7
  95%      8
  98%     10
  99%     11
 100%     11 (longest request)
PHP 5.3 fix
Implemented isolator generation via autoloader.
Added a basic benchmark script.

v2
--

    -- fixed arguments --
    Iterations:   10000
    Elapsed Time: 0.073423862457275

    -- variable arguments --
    Iterations:   10000
    Elapsed Time: 0.084336996078491

    -- reference parameter --
    Iterations:   10000
    Elapsed Time: 0.041561841964722

v3
--

    -- fixed arguments --
    Iterations:   10000
    Elapsed Time: 0.026527881622314

    -- variable arguments --
    Iterations:   10000
    Elapsed Time: 0.080181121826172

    -- reference parameter --
    Iterations:   10000
    Elapsed Time: 0.044135808944702
Micro-optimisations.
Updated README [ci skip]
Merge branch 'feature/codegen' into develop
Bumped version and updated changelog.
Removed unnecessary isolator property in trait example [ci skip].
Removed IsolatorInterface, it was only useful for mocking, and it wasn't even any good for that since mocking functions with reference parameters wouldn't work anyway.
Merge branch 'release/3.0.0'