Merge pull request #3564 from jreback/GH3562

BUG: Duplicate indexes with and empty DataFrame.from_records will return a correct frame (GH3562)
BUG: non-unique indexers with a list-like now return in the same order as the passed values
BUG: handle missing indexers in duplicate indices similary to how unique handles (e.g. by reindexing)