Break out Fedora 3 functions

This commit breaks the Fedora 3 functions into their own folder
so that we can go about implementing other repositories in
tuque.
Changed symantics of HttpConnection to allow more parameters.
Removed some crufty fcrepo4 stuff.
Porting some changes to tests for Fedora 4 back to this branch
Created a new factory for repositories

Created a new factory for repositories, so that there is one
call to be able to get configured repository. This will allow
us to start using other repositories potentially.
Updated URLs in tests
Refactor to allow decorators

This refactor created a few base decorator classes, so that other
users of tuque can decorate the base tuque classes.
Modifications to allow for object decorators.
Updated Type Hinting to work with decorators.
Fixes for tests.
Super simple wrapper, that only supports describe as of now.
Merge pull request #1 from nigelgbanks/break_out_implementation

Break out implementation
Merge branch '1.x' into break_out_implementation

Conflicts:
	implementations/fedora3/Object.php
	tests/HttpConnectionTest.php
	tests/implementations/DatastreamTestBase.php
	tests/implementations/fedora3/FedoraApi/FedoraApiTest.php
	tests/implementations/fedora3/FedoraRelationships/FedoraRelationshipsExternalTest.php
Don't wann lose local work.
dont want to lose changes.
Merge branch 'break_out_implementation_fedora4' of https://github.com/nigelgbanks/tuque into 1.x