implement new content checkbox selection for content migrations

fixes CNVS-10400
fixes CNVS-10399

Test Plan
1. Copy a course, any course (with content). Make sure to copy a course
and check the 'select content' option.
2. When asked to "select content" by pressing the blue button when
migrating a course, observe the follow:
  a) Checkboxes should now look like the new design kyle made. This
includes removing the old "Select All" buttons and checkbox groups now
have a nice border around them.
  b) There is now a arrow next to checkboxes that represent if a
checkbox group has been expanded or not. Clicking top level checkbox
arrows should load it's sub checkboxes. This only happens once to
imporve performance.
  c) Checking a toplelve checkbox and then expanding should also check
all of this child checkboxes.
  d) There is now what's called an 'indeterminate' state for checkboxes.
If you have a child checkbox inside of a folder and you only select one,
the parent checkboxes will be given a line through them that represents
an 'indeterminate' state.
  e) Migrating a course should work as normal.
  f) Pressing the 'cancel' button should close the dialog window
  g) The 'Select content' button should be disabled unless you have
selected at least one item via click a checkbox.

Change-Id: I3c57d16ab7d09ab4b4e61167160ab47da0a34018
Reviewed-on: https://gerrit.instructure.com/29418
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jeremy Stanley <jeremy@instructure.com>
QA-Review: Nathan Rogowski <nathan@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>