[DTFD-20]: Adds source protocols.

Features can now be added by implementing the class methods from this protocol somewhere. When calling loadFeatures: they will be found by the runtime.

Signed-off-by: Daniel Thorpe <danthorpe@me.com>