Merge Caleb m1987 path 2

Finally merging Caleb's changes to the master. Caleb added some awesome functions, e.g. for searching for feature classes recursively, merging PDF files, joining tables using a dictionary, and more!