Added extra diagnostics

- Check if say or espeak are installed
- Check if all pip requirements were installed
Put `logger = logging.getLogger()` to the top of the file.

Either use `logging.basicConfig()` (without arguments) here or just don't use it at all (it'll be called automatically if no handlers are defined).

Logging to a file can optionally be specified via `argpase` (although I don't see a need for this, because you can just redirect stdout when you run this script).

Optionally, you can make an option `--debug` to set the level to `logging.DEBUG` if think thats neccessary.

```Python
parser = argparse.ArgumentParser()
parser.add_argument("--debug", help="Also show debug messages",
                    action="store_true")
args = parser.parse_args()
if args.debug:
    logger.setLevel(logging.DEBUG)
DiagnosticRunner(Diagnostics).run()
```