Recursive folder copy, separate update and 

## Major Changes
The largest change is the separation of the copy and update functions for drive files. The drive file copy implementation now exists in **doCopyDriveFile**

To support the new features, two new helper methods were added.
1. doRecursiveDriveCopy
2. doCreateDriveFolder

## Minor Changes
There may we a few trailing spaces trimmed by my editor settings.

Gitignore additions for OS X cruft.

## Command documentation

This change allows for drive folders to be copied recursively.

Example:
```
gam user user@example.com copy drivefile id 0B7K8EoFCAEZcdGpaFjFIcC1rTlE recursive
```

It also allows a file to be copied with a new name. If no new name is specified, the default "Copy of X" is used.

Example:
```
gam user user@example.com copy drivefile id 10q1TDk-56smOe-njLfZ-MX6BkOrNR_afeZI0DLUWd-s newfilename "New File Name"
```

Lastly, it allows for files or folders, to be copied into a specified parent.

Example:
```
gam user user@example.com copy drivefile id 0B7K8EoFCAEZcdGpaFjFIcC1rTlE recursive newfilename FolderName parentid 0B8K8EoCBAEZcZWTVc216c4Z4Rlk
```

### Testing
The project doesn't include tests as far as I can tell, but I tested all the copy functions and I made sure the doUpdateDriveFile continued to function as expected.