Removed the possibility of double subscribing to a topic.

Not Cursor.GetCursors will not return an array with multiple cursors sharing
the same key.
Updated CursorFacts.GetCursorsRemovesDuplicates to pre-serialize cursors

This ensures that it isn't Cursor.MakeCursor that is removing the duplicates.