Rudimentary for searching and adding of shared processors

- This utilizes the RECIPE_SEARCH_DIRS pref, which actually
  isn't used if the command-line '-d' option is given, so
  this is barely a proof-of-concept, and requires the shared
  processor to actually be in the list of recipe repos in
  RECIPE_SEARCH_DIRS
Explicitly update RECIPE_*_DIRS env vars on runs

- we may have overridden them at the CLI, but previously we were always
  pulling these variables from the prefs
- later in the processing stage, autopkglib can make use of these
  vars to search for shared processors
Support passing the env to get_processor()

- effectively so that we can read RECIPE_SEARCH_DIRS
Support for a nice warning if SharedProcessorRepoURL is used in recipe.
Move some recipe-finding functions into autopkglib

- for use in get_processor, to locate shared processors by recipe identifier
Implement searching for a processor using 'recipe.identifier/ProcessorName'

- discarding the initial "SharedProcessors" directory in repo root idea
- support for SharedProcessorRepoURL still exists as a separate key
Make next version 0.4.0
Update ReadMe.md
Do user home expansion on CACHE_DIR and RECIPE_REPO_DIR preferences values
Merge branch 'master' of https://github.com/autopkg/autopkg
PyLint cleanups for autopkg tool
Remove all trailing whitespace from autopkglib/__init__.py
Remove all trailing whitespace from autopkglib/*.py
Remove all trailing whitespace from autopkgserver/*.py files
Remove all trailing whitespace from Scripts/*.py files
PyLint cleanups for autopkglib/__init__.py
PyLint cleanups for autopkglib/AppDmgVersioner.py
PyLint cleanups for autopkglib/BrewCaskInfoProvider.py
PyLint cleanups for autopkglib/CodeSignatureVerifier.py
Autopkg cleanups for autopkglib/Copier.py