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.