Streamline set up of dependencies.

Separate out external dependencies into a new directory (ext_lib).  Provide a helper bash script to download these.  Restructure include path such that these can be included verbatim.

Updated .gitignore to ignore these external dependencies in addition to other sensitive files such as client_secrets.json.