url_transform hook, css specificity and more

since my last pull request (https://github.com/peterbe/premailer/pull/23) I continued to improve premailer.
in addition to the url_transform hook, I added support for css specificity and made some work to simplify and put more structure in the code.