Merge pull request #3313 from eileenmcnaughton/CRM-14197

towards CRM-14197 separate out building contribution Params array
pass isTest & lineitems into processContribution

further refactoring to pass more params into smaller functions to make fixing membership line items doable

fix on previous refactor

Conflicts:
	CRM/Member/Form/Membership.php
clarify creation of creating a separate membership contribution
param fix & clarify object to pass to updateRecurmembership fn
declare membershipContributionID & use that
remove  param
don't check for empty on  - would have had an error
remove unrequired param
set membershipContribution directly as required
remove minor code duplication, ensure  set to form value
minor cleanups
remove invalid return & unused parameter
refactor processing of secondary transaction into separate function
evaluate form contribution TypeID on form function
refactor creation of membership_payment records into shared function
use try catch rather than passing errors as a reference
refactor out createOrRenewMembership function
share create membership function & move compiling errors into a separate function
separate form level part of renewal from bao part using an outer wrapper function
further consolidation on membership creation