Refinement of Possible Row Counts and Statement Info for XML

I want to have some more information about statements in the XML output.  In particular I'm interested in whether the results of statements can have possible row counts {0}, {0,1}, {1}, or {0,...}.  I split this into two patches.  The first refines the `Select of bool` to `Select of cardinalities` internally.  The second adds `kind`, `target`, and `cardinalities` attributes to `<stmt>` tags.

BTW, I believe there is a minor bug in the singlerow inference.  `select <constants> from <table>` will simply repeat the constants for each row in `<table>`.  If SQL was more true to set theory the code would be correct.  Not a big deal, as I can't think of any use for such a statement.