Adds option to limit the selection, and 2 related callback functions

Option "selectionLimit" with 0 for unlimited or (int) for a limit.
options.limitReached() is called when reaching the limit,
options.limitBlocked() is called when trying to add more than the
limit. Also works for adding entire group and select_all, but
select_all has a new param to respect or ignore the limit.
Merge branch 'selection-limit' into frique-master