Refactor FunctionBuilder#capture to match other builders
Create new Template class

This class will provide method building functionality independent of the
kind of method being built (marshalling method, mapping method,
function).
Rename methods
Move method_definition to Template
Rename methods
Move Template outside of MarshallingMethodBuilder
Use Template in MappingMethodBuilder
Make implementations of #method_lines identical
Move #method_lines to Template
Inline method
Move implementation of #capture to Template
Move result capturing logic to Template
Clarify #method_lines logic
Prepare Template for generating instance methods
Use Template in FunctionBuilder
Move Template to MethodTemplate in its own file
Have method builders require all needed files
DRY up method builders [merges 'refactor-function-builders']