Merge branch 'release/0.1.8'
record.html: Open external links in new tab

Issue #171.
Merge branch 'issue/171'
s.php: Wrap multiline statements in braces

Style-only.
log: Add notes for Sunday
log: Add notes for Monday
log: Re-think class design
Rename Query to PipSearchQueryValues

The Query class doesn't really represent a query, it represents a set a
values which can be used to create a query.

Issue #208.
query.php: Add skeleton class structure

Issue #208.
query.php: Implement StringQuery class

Issue #208.
query.php: Implement CompositeQuery class

Issue #208.
log: Use more geneic class layout and add usage

Issue #208.
log: Update to match UML diagram

Issue #208
query.php: Add class definitions from UML design

Prototype class design:

    MySQLStatement : interface
      + get_mysql_query() : string

    Select implements MySQLStatement
      - $table : string
      - $columns : string[]
      - $where : Condition
      - $prefix : string
      - $suffix : string
      + Select( $table : string,
                $columns : string[],
    	    $where : Conidition,
    	    $prefix = "" : string,
    	    $suffix = "" : string )

    Condition : abstract class implements MySQLStatement

    StringMatchCondition extends Condition
      - $field : string
      - $value : string
      - $exact : boolean
      + StringMatchCondition( $field : string,
                              $value : string,
                              $exact = False : boolean )

    ConditionLogic : abstract class
      + _AND = "AND" : string
      + _OR = "OR" : string
      + val() : string[]

    CompositeCondition extends Condition
      - $conditions : Condition[]
      - $logic : ConditionLogic
      + CompositeCondition( $logic : ConditionLogic,
        			$conditions = array() : Condition[] )
      + add_condition( $condition : Condition )

Issue #208.
query.php: Add a PipQueryBuilder class

Issue #208.
query.php: Implementation work on Select class

Issue #208.
log: Update usage for PipQueryBuilder class

Issue #208.
query.php: Refactor ConditionLogic constant names

Issue #208.
query.php: Implement StringMatchCondition

Issue #208.
query.php: Implement Select class

Issue #208.