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? 
Here is the original conversation around why we needed to move the certificate item

https://github.com/edx/edx-platform/pull/2041

At the time it seemed like we should do this so that we could report the correct number of verified students?  Since we might potentially be moving the student to multiple courses, I think we would want to be creating a new certificate_item for each course and delete/invalidate the old cert_item thought I'm not sure how this reporting works now.