Merged with default.
Fixed a uninitialized variable problem in `MockPage`.

--HG--
extra : rebase_source : 12e01e0c6f9823063526b2ed3a65771fc93e4b5b
Refactored the `PaginationIterator` to use a more proper fluent interface.

--HG--
extra : rebase_source : bccfc856fad56f06a5545acf449f0aa9d3fd09a0
Fixes to Windows bootstrap script:
- search for PHP.EXE in the PATH first.
- added support for XAMPP.
Need to prepend `libs/pear` to the `include_path` to fix PHP environments like XAMPP.
Test changes:
- All test classes (mock objects and test cases) now use namespaces consistent
  with the application code.
- There's only one `composer.json`. All test dependencies are also in `libs`.
- Reorganized the `tests` directory to be cleaner.
- Benchmarks are saved per hostname, and have better output.
- Removed old test/benchmark website.

--HG--
rename : tests/libs/mikey179/vfsStream/CHANGES => libs/mikey179/vfsStream/CHANGES
rename : tests/libs/mikey179/vfsStream/LICENSE => libs/mikey179/vfsStream/LICENSE
rename : tests/libs/mikey179/vfsStream/composer.json => libs/mikey179/vfsStream/composer.json
rename : tests/libs/mikey179/vfsStream/phpdoc.dist.xml => libs/mikey179/vfsStream/phpdoc.dist.xml
rename : tests/libs/mikey179/vfsStream/readme.md => libs/mikey179/vfsStream/readme.md
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php
rename : tests/libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php => libs/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php
rename : tests/libs/pear/Benchmark/Iterate.php => libs/pear/Benchmark/Iterate.php
rename : tests/libs/pear/Benchmark/Profiler.php => libs/pear/Benchmark/Profiler.php
rename : tests/libs/pear/Benchmark/Timer.php => libs/pear/Benchmark/Timer.php
rename : tests/src/test-websites/benchmarks/_content/config.yml => tests/data/benchmark/_content/config.yml
rename : tests/src/test-websites/benchmarks/_content/pages/empty.html => tests/data/benchmark/_content/pages/empty.html
rename : tests/src/test-websites/benchmarks/_content/pages/markdown-syntax.html => tests/data/benchmark/_content/pages/markdown-syntax.html
rename : tests/src/test-websites/benchmarks/_content/pages/markdown-syntax/bateau-projets.png => tests/data/benchmark/_content/pages/markdown-syntax/bateau-projets.png
rename : tests/src/test-websites/benchmarks/_content/pages/markdown-syntax/daring-fireball-logo.png => tests/data/benchmark/_content/pages/markdown-syntax/daring-fireball-logo.png
rename : tests/src/test-websites/benchmarks/_content/pages/markdown-syntax/php-file.png => tests/data/benchmark/_content/pages/markdown-syntax/php-file.png
rename : tests/src/test-websites/benchmarks/_content/templates/default.html => tests/data/benchmark/_content/templates/default.html
rename : tests/src/test-data/import/wordpress.test-data.2011-01-17.xml => tests/data/import/wordpress.test-data.2011-01-17.xml
rename : tests/src/test-data/pages/complex-header-page.html => tests/data/pages/complex-header-page.html
rename : tests/src/test-data/pages/complex-header-page.yml => tests/data/pages/complex-header-page.yml
rename : tests/src/test-data/pages/empty-page.html => tests/data/pages/empty-page.html
rename : tests/src/test-data/pages/empty-page.yml => tests/data/pages/empty-page.yml
rename : tests/src/test-data/pages/just-content-page.html => tests/data/pages/just-content-page.html
rename : tests/src/test-data/pages/just-content-page.yml => tests/data/pages/just-content-page.yml
rename : tests/src/test-data/pages/mustache-page.html => tests/data/pages/mustache-page.html
rename : tests/src/test-data/pages/mustache-page.yml => tests/data/pages/mustache-page.yml
rename : tests/src/test-data/pages/page-with-chunk.html => tests/data/pages/page-with-chunk.html
rename : tests/src/test-data/pages/page-with-chunk.yml => tests/data/pages/page-with-chunk.yml
rename : tests/src/test-data/pages/simple-header-page.html => tests/data/pages/simple-header-page.html
rename : tests/src/test-data/pages/simple-header-page.yml => tests/data/pages/simple-header-page.yml
rename : tests/src/test-data/pages/twig-page.html => tests/data/pages/twig-page.html
rename : tests/src/test-data/pages/twig-page.yml => tests/data/pages/twig-page.yml
rename : tests/src/test-data/pages/two-segments-page-with-custom-format.html => tests/data/pages/two-segments-page-with-custom-format.html
rename : tests/src/test-data/pages/two-segments-page-with-custom-format.yml => tests/data/pages/two-segments-page-with-custom-format.yml
rename : tests/src/test-data/pages/two-segments-page.html => tests/data/pages/two-segments-page.html
rename : tests/src/test-data/pages/two-segments-page.yml => tests/data/pages/two-segments-page.yml
rename : tests/src/test-data/posts/flat/2009-05-16_first-post.html => tests/data/posts/flat/2009-05-16_first-post.html
rename : tests/src/test-data/posts/flat/2010-01-08_second-post.html => tests/data/posts/flat/2010-01-08_second-post.html
rename : tests/src/test-data/posts/flat/2010-11-02_third-post.html => tests/data/posts/flat/2010-11-02_third-post.html
rename : tests/src/test-data/posts/flat/2011-09-23_fourth-post.html => tests/data/posts/flat/2011-09-23_fourth-post.html
rename : tests/src/test-data/posts/flat/2011-09-24_a-sixth-post.html => tests/data/posts/flat/2011-09-24_a-sixth-post.html
rename : tests/src/test-data/posts/flat/2011-09-24_b-fifth-post.html => tests/data/posts/flat/2011-09-24_b-fifth-post.html
rename : tests/src/test-data/posts/hierarchy/2009/05/16_first-post.html => tests/data/posts/hierarchy/2009/05/16_first-post.html
rename : tests/src/test-data/posts/hierarchy/2010/01/08_second-post.html => tests/data/posts/hierarchy/2010/01/08_second-post.html
rename : tests/src/test-data/posts/hierarchy/2010/11/02_third-post.html => tests/data/posts/hierarchy/2010/11/02_third-post.html
rename : tests/src/test-data/posts/hierarchy/2011/09/23_fourth-post.html => tests/data/posts/hierarchy/2011/09/23_fourth-post.html
rename : tests/src/test-data/posts/hierarchy/2011/09/24_a-sixth-post.html => tests/data/posts/hierarchy/2011/09/24_a-sixth-post.html
rename : tests/src/test-data/posts/hierarchy/2011/09/24_b-fifth-post.html => tests/data/posts/hierarchy/2011/09/24_b-fifth-post.html
rename : tests/src/test-data/posts/shallow/2009/05-16_first-post.html => tests/data/posts/shallow/2009/05-16_first-post.html
rename : tests/src/test-data/posts/shallow/2010/01-08_second-post.html => tests/data/posts/shallow/2010/01-08_second-post.html
rename : tests/src/test-data/posts/shallow/2010/11-02_third-post.html => tests/data/posts/shallow/2010/11-02_third-post.html
rename : tests/src/test-data/posts/shallow/2011/09-23_fourth-post.html => tests/data/posts/shallow/2011/09-23_fourth-post.html
rename : tests/src/test-data/posts/shallow/2011/09-24_a-sixth-post.html => tests/data/posts/shallow/2011/09-24_a-sixth-post.html
rename : tests/src/test-data/posts/shallow/2011/09-24_b-fifth-post.html => tests/data/posts/shallow/2011/09-24_b-fifth-post.html
rename : tests/src/test-data/templates/mustache-template.html => tests/data/templates/mustache-template.html
rename : tests/src/test-data/templates/mustache-template.mustache => tests/data/templates/mustache-template.mustache
rename : tests/src/test-data/templates/twig-template.html => tests/data/templates/twig-template.html
rename : tests/src/test-data/templates/twig-template.twig => tests/data/templates/twig-template.twig
rename : tests/src/benchmarks/ApplicationBenchmark.php => tests/src/PieCrust/Benchmarks/ApplicationBenchmark.php
rename : tests/src/test-objects/MockFileSystem.php => tests/src/PieCrust/Mock/MockFileSystem.php
rename : tests/src/test-objects/MockFormatter.php => tests/src/PieCrust/Mock/MockFormatter.php
rename : tests/src/test-objects/MockPage.php => tests/src/PieCrust/Mock/MockPage.php
rename : tests/src/test-objects/MockPieCrust.php => tests/src/PieCrust/Mock/MockPieCrust.php
rename : tests/src/test-objects/MockPlugin.php => tests/src/PieCrust/Mock/MockPlugin.php
rename : tests/src/test-objects/MockPluginLoader.php => tests/src/PieCrust/Mock/MockPluginLoader.php
rename : tests/src/test-objects/MockProcessor.php => tests/src/PieCrust/Mock/MockProcessor.php
rename : tests/src/test-cases/AssetorTest.php => tests/src/PieCrust/Tests/AssetorTest.php
rename : tests/src/test-cases/BakeRecordTest.php => tests/src/PieCrust/Tests/BakeRecordTest.php
rename : tests/src/test-cases/ConfigurationTest.php => tests/src/PieCrust/Tests/ConfigurationTest.php
rename : tests/src/test-cases/DataTest.php => tests/src/PieCrust/Tests/DataTest.php
rename : tests/src/test-cases/DirectoryBakerTest.php => tests/src/PieCrust/Tests/DirectoryBakerTest.php
rename : tests/src/test-cases/FileSystemTest.php => tests/src/PieCrust/Tests/FileSystemTest.php
rename : tests/src/test-cases/FormattingTest.php => tests/src/PieCrust/Tests/FormattingTest.php
rename : tests/src/test-cases/PageBakerTest.php => tests/src/PieCrust/Tests/PageBakerTest.php
rename : tests/src/test-cases/PageContentsParsingTest.php => tests/src/PieCrust/Tests/PageContentsParsingTest.php
rename : tests/src/test-cases/PageTest.php => tests/src/PieCrust/Tests/PageTest.php
rename : tests/src/test-cases/PaginationDataTest.php => tests/src/PieCrust/Tests/PaginationDataTest.php
rename : tests/src/test-cases/PaginatorTest.php => tests/src/PieCrust/Tests/PaginatorTest.php
rename : tests/src/test-cases/PathHelperTest.php => tests/src/PieCrust/Tests/PathHelperTest.php
rename : tests/src/test-cases/PieCrustBakerTest.php => tests/src/PieCrust/Tests/PieCrustBakerTest.php
rename : tests/src/test-cases/PieCrustConfigurationTest.php => tests/src/PieCrust/Tests/PieCrustConfigurationTest.php
rename : tests/src/test-cases/PieCrustHelperTest.php => tests/src/PieCrust/Tests/PieCrustHelperTest.php
rename : tests/src/test-cases/PieCrustImporterTest.php => tests/src/PieCrust/Tests/PieCrustImporterTest.php
rename : tests/src/test-cases/ServerHelperTest.php => tests/src/PieCrust/Tests/ServerHelperTest.php
rename : tests/src/test-cases/SimpleFileProcessorTest.php => tests/src/PieCrust/Tests/SimpleFileProcessorTest.php
rename : tests/src/test-cases/TemplateRenderingTest.php => tests/src/PieCrust/Tests/TemplateRenderingTest.php
rename : tests/src/test-cases/UriBuilderTest.php => tests/src/PieCrust/Tests/UriBuilderTest.php
rename : tests/src/test-cases/UriParserTest.php => tests/src/PieCrust/Tests/UriParserTest.php
Added convenience method to add custom templates to mock file-system.
Added function to create the templates directory in the mock file-system.
Custom template directories are now added before the default ones.
Added unit-tests.
Fixed a bug in `Paginator` that generated double-slashes in navigation links.
Updated CHANGELOG.
Fixed a bug with enabling the SmartyPants formatter.
Added some unit tests.
Updated CHANGELOG.
Renamed Twig filter `strip tag` to `stripoutertag`. Added new filters.
Added support for themes:
- When a page is not found, the application now checks the theme folder (if any) or the built-in `res` folder.
- File-systems are now given a root directory, which can either be the app's, or the theme's.
- The `DirectoryBaker` now supports "mount points", so that the theme's root directory can be mounted and the bake output merged with the website.
- The app's configuration is now merged with the theme's.
- The configuration class can now combine non-associative arrays, mainly to make it possible to append more additional templates directories from the theme's config.
- The `Cache` class can now check against multiple source files, for the cached configuration which depends on potentially 2 YAML files.
- Added the `theme` Chef command to find and install themes.
- The `init` Chef command now creates less files, making use of the default `res` files.
- Added more unit tests.
Added support for specifying `plugins_sources` and `themes_sources` without the array syntax.
Fixed a namespace bug.
Added a file-system based repository for plugins/themes.
Extension repository improvements:
- Added file-system based repository.
- Made the BitBucket repository cache web requests.
Removed unused `use` statements.