The quest for a general co-crystallization strategy for macromolecules: lessons on the use of chaperones for membrane protein crystallization