CRM-19273 extract code to get financial items and filter those already cancelled.
This is the first of the broken-out changes in https://github.com/civicrm/civicrm-core/pull/10962 that results in
an actual functionality change. The code that retrieves the relevant financial items is separated into
it's own function. But then a php loop iterates through and eliminates any items that have
already been reversed. This is a scenario identified in the unit tests on 10962 and occurs when
the the option value has is changed and then changed again - the items from the first change
should not be re-changed.