Add possibility of keeping smack_accesses sorted.

Add field sorted to struct smack_accesses, that contains information
about the state of linked list.
For non-sorted list implementation is not changed.
For sorted list, a pair of (subject, object) is a sorting key.
Such sorted list cannot contain more than one entry per pair of
(subject, object) labels.
If more than one rule with same (subject,object) pair exists
in a set being sorted, then rules are merged: the one which is
earlier in a list is replaced by a next 'set' rule or modified
by the next modify' rule.

For sorting rules lists function smack_accesses_sort is implemented
and smack_accesses_is_sorted function returns state of a list.
Implement functions operating on two sets of rules

    Added functions:
     smack_accesses_union()
     smack_accesses_intersection()
     smack_accesses_complement()
    The above functions implement boolean set operations on sets
    of Smack rules.
Implement a command line tool "smackpolicy"

The command line tool provides functionality of libsmack functions:
    smack_accesses_sort()
    smack_accesses_union()
    smack_accesses_intersection()
    smack_accesses_complement()
operating on files containing rules and writing output to given file.