Skip unit tests when extension not available, improve autoload

* Skips the MongoDB related tests if the mongo extension is not loaded.
* Skips the Memcached related tests if the memcached extension is not loaded.
* Updates autoloading support to be nicer and make use of the vendor folder when avail.