Generic drag and drop re-ordering adapter for RecyclerView