fix option handling in acprep

Both the `--local` option and the default to build local if no build
directory exists did not work, because `build_directory()` uses
`self.options.build_dir`, but the default and the `--local` option used
`self.build_dir`.
I changed the code to always use `self.options` for options/flags.
Now `self.options` is set to the default values of OptParser and is
updated when `parse_args` is called in `run`.

After this commit ledger will be built in:
  * The directory specified using `--output=`
  * Else in a subdirectory of `./build` or `~/Products` if one of those
    directories exist and `--local` is not used.
  * Else inside the source tree (default).
acprep: pass options starting with -D to CMake
fix --no-python option

This would fail with `ValueError: list.remove(x): x not in list`.