use boost program_options in extractor

Use boost::program_options to make parsing of input options more robust. Example sessions:

```
~/code/Project-OSRM$ (experimental/program_options) build/osrm-extract
[warn] An input file must be specified.

~/code/Project-OSRM$ (experimental/program_options) build/osrm-extract --help
[info] osrm-extract <input.osm/.osm.bz2/.osm.pbf> [<profile.lua>]:

Options:
  -v [ --version ]                    Show version
  -h [ --help ]                       Show this help message
  -p [ --profile ] arg (=profile.lua) Path to LUA routing profile

~/code/Project-OSRM$ (experimental/program_options) build/osrm-extract finland.osm norway.osm
[warn] Only one input file can be specified.

~/code/Project-OSRM$ (experimental/program_options) build/osrm-extract finland.osm --profile
[warn] the required argument for option '--profile' is missing

~/code/Project-OSRM$ (experimental/program_options) build/osrm-extract finland.osm --profile car.lua -p bicycle.lua
[warn] option '--profile' cannot be specified more than once

~/code/Project-OSRM$ (experimental/program_options) build/osrm-extract -v
[info] 
osrm-extract, version 0.3.4
```

The profile (when specified) must use the --profile (or -p shorthand) switch:

   build/osrm-extract finland.osm.pbf --profile bicycle.lua

rather than:

   build/osrm-extract finland.osm.pbf bicycle.lua