Moved projection input_fns to Projection from CFProjection

It makes sense to define the output_fns and input_fns together in one
place.
Updated state_push/pop to operate on projection input and output fns
Merge pull request #608 from jlstevens/master

Projection input/output function refactor