Major O-O refactor

- Convert from using a set of modules, to a class.

- Load and save file for every operation, which
  allows a running "pw" to get refreshed by occasional
  updates by the other programs.

- Assorted cleanups.
More specific objects; more common functionality.

- pw.core now has separate Cli and Store classes
  for handling the CLI functionality and datastore
  functionality separately.

- Cli instances have an instance of Store and a
  new run() method, which DRYs up the similar
  functionality that appeared in all the interactive
  programs. Finally, there is a new static method
  that provides calling applications with the
  basic CLI related options in an initialized
  argparse parser.

- Store objects now own the field-related
  properties, as well as the load(), save() and
  find() methods.

- update the rmpw, pw, mv and editpw programs to
  take advantage of the new functionality--base
  arguments, interactive loop or terminate flow--
  and properly use the new Cli object in their
  process_func closures. Cli instances now have a
  pw_store property, which contains the password
  storage object instance.

- update the buildpw, chow, and dumppw program to
  use the Store object, because they do not need
  the interactive functionality provided by the
  Cli object.
Post-refactor cleanups.

- Fix various object access typos in applications.

- Remove unneeded exception catch block in Cli
  prompt_loop method.
Cli: add Store facades; implicitly load pw store.

- Put various facade properties and methods in the
  Cli object to make things less clunky for apps.

- Move the password load into the Cli object, so
  that applications don't have to do it.
fix indentation-caused bug; spiff up output.

The choose-credential-for-editing method had
a statement mistakenly inside a loop and was
printing extra newlines.
Genericize CLI find and process results logic.

- The main logic is now in the Cli class and the
  run function now accepts callbacks for specific
  steps in the process. Clearer, smaller code in
  applications. Weird static methods are gone,
  and applications don't need to call "find"
  explicitly anymore.
fix typo: wrong (old) name for action function