Add reset methods to container, application, dispatcher and view in order to reduce memory leak during tests

The primary goal of this change is to reduce the amount of memory leak occurring while running tests using the TestCase class.

The following is a before/after of running a simple testcase with $this->assertTrue(true); with varying iteration counts (number of tests). Time is in seconds, memory usage is in MB. Compared is running the test using the TestCase class vs the PHPUnit_Framework_TestCase.

| | phpunit  | phpunit     | testcase (before) | testcase (before) | testcase (after) | testcase (after) |
|------|----------|-------------|-------------------|-------------------|------------------|------------------|
| iterations | time (s) | memory (MB) | time (s)          | memory (MB)       | time (s)         | memory (MB)      |
| 50   | 0.2      | 3.25        | 1.8               | 23                | 1.5              | 9                |
| 500  | 0.3      | 4.25        | 14.4              | 172.75            | 11.7             | 14               |
| 5000 | 1.7      | 14.25       | 225.6             | 1632              | 119.4            | 58            |