merge.csv returns objects and optionally writes out a csv

merge.csv() now returns an object for assigment, doesn't change directories, and only writes out a csv optionally