Update the student transfer management command

Updating the student transfer management command to take multiple courses as the "to" parameter. This will allow a single course enrollment to be split into enrollment across multiple 'micro' courses. This is for the following JIRA story:
https://openedx.atlassian.net/browse/ECOM-469

Refactored for cleanliness
Added a new test to verify transfer of enrollment and course modes effectively. 

@wedaly @dianakhuang @feanil  Please review if able

@brianhw I changed this to a TrackedCommand, is that enough for analytics tracking? 
@feanil Will Diana and myself talked offline and determined that we will make this a configurable option to the script, and not allow it at all for multiple course transfer.  This seems like the safest solution, allowing manual intervention for Certificate Items if a refund is required for a course that has been split into multiple.