Fix --exclude on OS X.  Allow exlude_dir to be an Array

I kept having problems on OS X where the '--exclude' was interpreted as a file name.  Changing the argument order fixed this.
While looking at the code, I also tweaked it so exclude_dir can be an Array, thus allowing you to have multiple excludes.   Both linux and OS X tar work with multiple --exclude's