Refactored out BackgroundImagerCLI and added tests

Primary functional test for CLI is now uses mocha
Added parsing functions for media DSL.

Also made some (now legacy) regex case-insensitive and less strict.
createMediaRules now accepts array of image filenames

All logic related to creation of media rules now within
createMediaRules to encapsulate future refactor to support media query
filename DSL. This is how it should have been anyway.
getClassBaseFilename now accepts filepath
Renamed non-mocha test so mocha won't run it
Added getMediaQueries

Also small corrections to getMediaSubstring tests
Renamed getMediaSubstring to getMediaRule
Renamed parseMediaExpression as parseMediaDescriptorAsExpressionObject

"descriptor" is proper terminology according to @srcset
Corrected parseMediaDescriptorAsExpressionObject to include 'px'

Also aded parseMediaDescriptorAsExpression. All tests fixed.
Added getImageFileInfo & getImageFileInfoArray
Refactor of parseFilename, getClassBaseName and getMediaQueries

parseFilename now returns media query descriptor strings as array.
getClassBaseName is now getClassname and uses. Both getClassBaseName
and getMediaQueries depend on parseFilename
Changed primary functional test

Expanded some other tests with new test images
Added groupImageFileInfoByQuery
getRatio now works for any string
Added parseMediaQueryAsExpressions
Added removeMediaDescriptorByFeature
Minor cleanup in tests
Improved bounds/error checking for parseMedia* methods
Replaced generate2xMediaQueries with generateMediaQueriesWithPixelDensity

No tests yet. Waiting for additional refactor.
Mass refactor of generateRuleSet and createMediaRules

Some tests for generateRuleSet. Functional CLI test covers
createMediaRules