Over-ride Mage_Core_Model_Config to allow mocking functionality

This patch allows you to set mock objects for Mage::getModel() via the Config object,
so the designated model name will return your mock rather than what Magento would
normally return.

Example:

$myMock = $this->getMock('Mage_Catalog_Model_Product');
Mage::getConfig()->setModelInstanceMock('catalog/product', $myMock);

All future Mage::getModel('catalog/product') calls will return the given mock object.

If multiple mock objects are set in sequence Magento will return each mock object in order
until the last one, which will be returned repeatedly from then on.
Squashed commit of the following:

commit 009640a5135ac4fe2f5ac6bf4473d03f642bde95
Author: Vinai Kopp <vinai@netzarbeiter.com>
Date:   Wed May 22 18:01:36 2013 +0200

    Load Zend_Log so if there is an exception later during autoloading it doesn't fail

commit f11c82018918e5d2a33cc07d39ec1a382e333dfe
Author: Vinai Kopp <vinai@netzarbeiter.com>
Date:   Wed May 22 17:58:56 2013 +0200

    Make bootstrap compatible with symlinked (e.g. modman) setup

commit 4edfdd204237e4cdd24c5b0b9a23a82906cf3859
Author: Vinai Kopp <vinai@netzarbeiter.com>
Date:   Wed May 22 17:58:00 2013 +0200

    Complete a few phpdoc blocks

commit 6cd2ce4df55b1ccb30c5eb80fdaa6338e728c189
Author: Vinai Kopp <vinai@netzarbeiter.com>
Date:   Wed May 22 17:57:36 2013 +0200

    Complete a few phpdoc blocks

commit c8404e8b8faa20bb76b10930637478e8cd30891e
Author: Vinai Kopp <vinai@netzarbeiter.com>
Date:   Wed May 22 17:30:05 2013 +0200

    Fix casing PhpUnit -> PHPUnit and class file name Listner -> Listener
Merge pull request #2 from vinai-drive-by-commits/get-tests-running

Get the tests running under 1.7.0.2 on a case sensitive file system
Merge pull request #1 from rgpjones/feature/MageConfigDi

Over-ride Mage_Core_Model_Config to allow mocking functionality
Merge branch 'develop' of https://github.com/MageTest/Mage-Test into develop