Added the multiple add/remove feature

I also added unit test for the entire library.. along with code coverage reports and grunt tasks to make future additions easier  
I haven't checked but i used the native Object.prototype.toString method which should be available everywhere but i could be mistaken