Add more properties and callback methods

- Add 3 new callback methods [onchanged], [onadded] and [onremoved].
Argument [data] was passed to callback [data = { totalTags, tags, tag }]
+ onchanged: always occurs every tagList was changed (add or remove, not
clear).
+ onadded: occurs every a new tag was added to tagList.
+ onremoved: occurs every a tag was removed out of tagList.

- Support 3 events [tagsinput:add], [tagsinput:remove] and
[tagsinput:clear]
+ tagsinput:add accepts one argument [tag] to add to tagList
+ tagsinput:remove accepts one argument [tag] to remove it out of
tagList
+ tagsinput:clear clear tagList

- Add class [tagsinput-maxtags] when tagList reached the maximum amount
of tags
- Refactor code