use warnings is not necessary to use the "warn" builtin

use warnings is only to enable the built-in warnings in Perl itself
a little bit clearer about our intentions with pod2usage and @ARGV
"." is included automatically in @INC, except in some weirdly-compiled Perls
move GetOptionsFromArray into sub main() because it makes more sense
improve the MooseX::Runnable section
add note about GetOptions editing ARGV