Added --exclude dirs option and more

Hello Scott,

I'm glade to use your tool and also to contribute to improve it (I hope).

First, it's the first time I use Git (I'm an old subversion user) this why the push contains so mush changes in the same time (This won't be case after).

So, here is what I did :
+ Added some comments
+ Splited the 'execute' function in two parts : run_{src,dst}_job, this helps me to understand your philosophy
+ Changed some parameters to be more explicit
+ Add the use of the 'argparse' module 
+ Add --exclude option to exclude dirs from the backup
+ Changed the s.st_mtime to int(s.st_mtime) as I discovered a strange behaviour when bucking up a second time the same directory

Everything I tested was ok and I'm happy with it.

Regards,
Anouar