Adding new CareerCast, SeattleTimes and AlbuquerqueJournal Plugins
Plugins no longer need to be separately added to SitePlugins.php; Added 25 plugins

-- Added over 25 new plugins:  AdWeek, Afro, AlbuquerqueJournal,
Amazon, AnalyticTalent, ArkansasOnline, AsheboroCourierTribune,
CareerCast, CareerJet, CellCom, EverettWAHerald, HamptonRoads,
HealthProfressionalsJobsPlus, IEEE, JamaCareerCenter, KCBD,
KenoshaNews, LocalworkCA, LVReviewJournal,  MilwaukeeJournalSentinal,
PharmacyJobCenter, Politico, RetailCareersNow, SeacoastOnline,
StartupHire,  TulsaWorld, Variety, and VirginiaPilotOnline.
-- Plugins no longer need to be separately added to SitePlugins.php.
They are now automatically instantiated as long as they start with a
class name of "Plugin".  Note:  classes named "Plugin*" can now only be
plugins that extend ClassJobsSitePlugin.
-- Added new CareerCast base plugin that many of the new plugins
extend.  Adding a CareerCast-powered site now only takes a few minutes.
-- Addressed a few bugs.
Fixed variable value error in Amazon Applescript
Separated "no jobs found" and "excluded" in the results text
New support for one or more search_location_setting_set values in the INI

-- Rather than constantly having to repeat the location values on every
search you want to run, you can now just add a new
search_location_setting_set section in your INI file that defines all
the possible location values for each of the different possible types.
That set of values in search_location_setting_set will then be
automatically applied to each job site you have listed to search.

Example INI section:
[search_location_setting_set]
name="Search Locations"

[search_location_setting_set.Seattle]name="Seattle"
location-city="Seattle"
location-city-comma-statecode="seattle, wa"
location-city-comma-statecode-underscores-and-dashes="seattle__2c-wa"
location-city-comma-state="seattle, washington"
location-city-comma-state-country="seattle, washington, united states"
location-city-comma-state-country-no-commas="seattle washington united
states"

-- Note:  you can still specify a location="blah" value on a per search
basis.  Jobs_scooper will use that location value for that search
instead of using any location setting sets.

- Results text now separates out the counts for jobs retrieved from the
user's inputted CSV files.  This makes it clearer to see what jobs were
actually pulled and or updated with this run.

- set a C__STR_USER_AGENT__ constant value directly in jobs_scooper to
be used in the XML and other calls

- renamed consts JOBSITE_BASE_*_FLAGS to C__JOB_BASETYPE_*_FLAGS so
that they are consistent with the other flags they are typically OR'd
against

- set separate ScooperLib value, $GLOBALS['OPTS']['VERBOSE_API_CALLS'],
so that CURL calls do not spew out the verbose call information
Updating example_config.ini for new search_location_setting_sets support
Fixed: include_<plugin> incorrectly returning null instead of false when not set
Expedia plugin accidentally set to wrong type
Fixed:  Facebook and Craigslist return 404 errors due to capitalization of location
Fixed:  search_locations_setting_sets are not being initialized correctly
Fixed logging on result of plugin search; support for lowercase locations
Performance:  only calls into searches that have been included by name

- Previously, each plugin would get instantiated regardless of whether
there was a search for that plugin or not.  Now we only instantiate the
plugin if there is a search that uses it and if the user set it as
included from the command line.
- Results text now alphabetically sorts the 'no updated jobs' and
'excluded' lists.
New:  common keywords used for all plugins that allow it

-- Rather than constantly having to repeat the keyword values on every
search you want to run, you can now just add a new
search_location_setting_set section in your INI file that defines all
the possible keyword values you want to search.  That set of values
will then be automatically applied to each job site you have listed to
search.  If the job site supports OR'ing terms, job_scooper will only
run one search with a multi-keyword string; otherwise it will run one
search per keyword in the set.

Example INI section:
[search_keyword_set]
keywords="director"
keywords="vice president"
keywords="product"
keywords="vp"
keywords="chief product officer"
keywords="Chief Technology Office"
keywords="CTO"
keywords="CPO"
keywords="senior manager"
keywords="general manager"

-- Note:  you can still specify a keywords="blah" value on a per search
basis.  Jobs_scooper will use that keyword value for that search
instead of using any keywords set.
Fixed DotJobs to use correct location value
Adding debugging code for when title regex is misformed
Fixed:  Only one search running per plugin even though multiple keywords exist
Fixed:  getKeywordURLValue incorrectly checking C__JOB_LOCATION_PARAMETER_NOT_SUPPORTED
Updated example_config.ini to include keyword set example
Rewrote email notification to use PHPMailer instead of Applescript

Extends more support on Unix
Switched Plugin for Mashable to use the same CareerCast code as others