Add -f -d features @bootstrap.sh

Still not perfect

ideal:
1. can append files directly after ./bootstrap.sh, works as if -f
2. As long as -h or --help is seen, print help
   As long as -V or --version is seen, print version
3. -f and -d can handle multiple files until the next flag
4. all flags' position should be insensitive, except from the fist position

./bootstrap.sh file1 file2 file3
    => install file1 file2 file3

./bootstrap.sh -d file1 file2 file3
    => uninstall file1 file2 file3

./bootstrap.sh file1 -d file2 file3
    => install file1; uninstall file2 file3

./bootstrap.sh file1 -d file2 file3 -f file4
    => install file1; uninstall file2 file3; install file4

typical usage:

./bootstrap.sh file1 --vundle -p
    => install file1; install vundle; dry-run

eg.
./bootstrap.sh --pathogen file1 file2 file3
    => error, --pathogen shouldn't have argument

./bootstrap.sh --help file1 file2 file3
    => print help

./bootstrap.sh file1 --help file2 file3
    => print help

./bootstrap.sh file1 file2 file3 -p
    => print dry run install file1 file2 file3

./bootstrap.sh -p file1 file2 file3
    => error, -p shouldn't have argument

./bootstrap.sh file1 file2 -p file3
    => error, -p shouldn't have argument

./bootstrap.sh -p -f file1 file2 file3
    => print dry run install file1 file2 file3

./bootstrap.sh [files] [-f|-d] files [--pathogen|--vundle] [-h] [-V] [--uninstall] [--debug]