Make it possible to extend CFClient, CCClientFactory and CCClientImpl

Squashed commits from #183:

commit 43e0534630423f0d873440f9de57c669113113dd
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 18:19:03 2014 +0400

    Make methods that fetch resources protected

commit 03e507669f7680ef1dda0913154858da52ab0afd
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 17:47:03 2014 +0400

    Extract two more protected methods

commit 896a57ecaa0c4b1d6931837a71d1b5809ef4bde8
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 17:41:59 2014 +0400

    It now makes sense for key CFClient to be protected, too

commit 4cfab7102e10b40eda4385ee9dca984a2ab91a24
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 17:39:53 2014 +0400

    Make CCClientImpl fields protected

    Makes subclassing feasable.

commit 06556b718770843cd2453a6fc5a1e2d8b5a49a38
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 17:38:26 2014 +0400

    Make CCClientFactory fields protected

commit 3b25b8f390f921207ab882f050d4f3f0c0c210bc
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 17:18:49 2014 +0400

    These two methods should be protected

commit debc8d29317c3bf062d58a8e5e657c57dcf31d0f
Author: Michael Klishin <mklishin@gopivotal.com>
Date:   Thu Jun 5 17:16:21 2014 +0400

    Make it possible to override CC client factory in subclasses

    This way projects that need to add support for recent CC API features
    can use a custom client and not wait for cf-java-client releases.