Command line argument parser, Percona toolkit optional, INI file and DSN

Command line arguments
-------
I wanted to be able to add the server I was connecting to via the command line or via an INI file. 
While doing this, I tried to use a better way to parse the program arguments.

Type ./online-migration -h to view the output. 

Percona toolkit
-------
I was not able to install the Percona toolkit on my Mac. 
This is why the code is now checking the presence of the Percona toolkit before the real online change.
If the toolkit is not present, I use a standard ALTER TABLE statement. It's not "online'" in this case, but it's a way of doing. 
Maybe a warning should be added in that case.


Hope you like the changes. 

Do you have a "test" script I could use to be sure I'm not breaking anything ?