QPID-4558: Selectors for C++ broker
- Add support to 0-10 protocol codepaths in client messaging library
  and the broker to transmit a selector when subscribing to a queue
- This is specified by using a link property qpid.selector in the queue
  address.
- The selector is actually transmitted under 0-10 as an user vlaue
  named qpid.selector in the arguments table of the subscription.
- Added simple selector framework to broker.
- Added in infrastructure for selector evaluation
-- Put in place a trivial (but real) selector:
   The expression specifies a message property
   and returns true if it is present.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452522 13f79535-47bb-0310-9956-ffa450edef68
QPID-4558: Selectors for C++ broker
- Initial Selectors implemented:
* Only string values supported (no numerics or bools)
- Parses and executes the forms:
*  A=B
*  A<>B
*  I IS NULL
*  I IS NOT NULL
- where A, B are strings or identifiers
-       I is an identifier
* Conditional expressions can include the AND, OR and NOT
  operators and use parentheses.
- Only limited special identifiers return useful values (although
  they are all recognised)
- Unit tests for selector language

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452523 13f79535-47bb-0310-9956-ffa450edef68
QPID-4558: Selectors for C++ broker
- Added in amqp 1.0 support that uses a filter for the selector
- This change requires at least qpid-proton 0.4 (or a lot of warning
  messages are produced by the broker)

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452524 13f79535-47bb-0310-9956-ffa450edef68
QPID-4558: Selectors for C++ broker
- Added numeric and boolean values
* To literals and identifier values
* To the code that extracts values from message properties
- Added the full set of comparison operators
- Implemented full "unknown" semantics for all
  operators.
- Implemented extended "is null" and "is not null" operators
  that allow expressions as well as just identifiers.

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452525 13f79535-47bb-0310-9956-ffa450edef68