Move tr_prefix_wildcard_match to tr_constraint.c

We need tr_prefix_wildcard_match for merge_constraints and for
tr_filter.c.  Export it from libtr_tid even though it's in a private
header.  It's not part of the public API but is part of the library so
tr_filter can import it.

Also, fix bug; all strings were treated as wildcards.
tid_req: Store json references

Support storing references to json objects in TID requests.
tr_constraint_set_intersect

New function to intersect a constraint set and return a constraint
describing the domain and realm constraints that can be met by the
set.

Include tests for this.  The particular test cases are also designed
to test merge_constraints (included in this patch) and
tr_prefix_wildcard_match.
Makefile: enable tests and -Werror

Enable t_constraint tests in make check

Also enable -Werror since we pass with that.
Include constraints in tid_req messages
copyright update
tr_dh_pub_digest

Function to compute public key digest of client.  Use to store that in
sqlite3 database.  Update schema.
tr_constraint_set_get_match_strings

New function to retrieve the wild card strings that match a constraint
type for an intersected constraint set.

As a result convert TID_REQ to using talloc.

Depend on talloc project wide.

  # Please enter the commit
message for your changes. Lines starting # with '#' will be ignored,
and an empty message aborts the commit.  # On branch master # Your
branch is ahead of 'origin/master' by 3 commits.  # (use "git push" to
publish your local commits) # # Changes to be committed: # modified:
common/tr_constraint.c # modified: configure.ac # modified:
include/trust_router/tid.h # modified:
include/trust_router/tr_constraint.h # modified:
include/trust_router/tr_name.h # modified: tid/tid_req.c # modified:
tid/tidc.c # # Changes not staged for commit: # modified:
include/trust_router/tr_versioning.h # # Untracked files: # "\a" #
cscope.out # db # dest/ # foo.c # trust_router-1.0.tar.gz #
tids: include constraints in database

new table authorizations includes constraints for domain and realm as
well as the COI and APC used for the connection.
Back port jansson iterators
don't redefine json_t
Iterators also needed for tests
Include authorizations view in schema
tr_constraints: constraint set members can have limited types

If a constraint set member has a domain constraint but no realm
constraint treat that as a universal realm constraint (*).

However, if no constraint set member has that constraint type then
access is denied; we do not fail open.
It is not a failure to have no constraints at all, although no authorizations are created
Make tid types opaque
TID_RESP: array of servers rather than linked list

Provide an array of servers rather than a linked list for easier sorting.

TID_RESP is now allocated by talloc.
Track num_servers correctly
Enable talloc error reporting for tids and tidc
always use tid_req_new for TID_REQ