Merge factory-for-5016

Author: Julian
Reviewer: therve
Fixes: #5016

Add a forProtocol classmethod to factory to easily build a Factory instance for
a protocol class.


git-svn-id: svn://svn.twistedmatrix.com/svn/Twisted/trunk@37864 bbbe8e31-12d6-0310-92fd-ac37d47ddeeb