Buncha changes, including CPE pattern enhancements, and moving CPE URI parsing to an external library.