Add ability to use alternative icons

Add the ability to use alternative icons like FontAwesome. For example:

    $('#demo-builder').queryBuilder({
      icons : {
        add_group: 'fa fa-plus-circle',
        add_rule: 'fa fa-plus',
        remove: 'fa fa-times',
        sort: 'fa fa-sort'
      },
      ...
    });
JSON maps are unordered by default. Added support for arrays of maps to provide a means ensure ordered values.
fixed problem with backwards compatibility
Separate remove icons into remove_rule and remove_group
Merge pull request #32 from jasonhancock/icons

Add ability to use alternative icons
Merge remote-tracking branch 'remotes/RRZE-PP/master'
factorize code
fix #33 throw "empty_group" error when a group is empty
typo in #757ff64, thanks to jasonhancock
Sync with upstream