(#1878) - pull md5 out and just use a module
(#1883) & (#1842) - split ajax up into 2 parts, also figured out how to do the version thing
(#1843) - Get tests passing on saucelabs
(#1768) - changes as event emitter and in it's own module