Support duplicating an existing xblock to a supplied parent location.

@dmitchell @andy-armstrong Please review.

@marcotuts, you might want to look at how I am formatting the display name. Here's a quick description.

Original display name-- Multiple Choice
Duplicate-- Duplicate of 'Multiple Choice'

Original display name--      (that means it isn't set)
Duplicate-- Duplicate of 'None' (the None Python type gets converted to string None)

Original display name-- Duplicate of 'Multiple Choice'
Duplicate-- Duplicate of 'Duplicate of 'Multiple Choice''

The server-side method allows you to pass a custom display name for the duplicated item, but we don't plan to use that on the client-side.

STUD-1190