Renamed system cxml-location -> xml.location

* src/types.lisp (in-package xml.location): changed cxml-location ->
  xml.location
* src/conditions.lisp: likewise
* src/construction.lisp: likewise
* src/location.lisp:  likewise
* src/append-nodes-mixin.lisp: likewise
* src/create-missing-nodes-mixin.lisp: likewise
* src/multi-location.lisp: likewise
* src/singleton-location.lisp: likewise
* src/xpath-creation.lisp: likewise
* src/conversion.lisp: likewise
* src/macros.lisp: likewise
* src/lisplab.lisp:  likewise
* src/local-time.lisp: likewise
* src/package.lisp (package xml.location): renamed cxml-location ->
  xml.location
* test/location.lisp (in-package xml.location.test): changed
  cxml-location.test -> xml.location.test
* test/append-nodes-mixin.lisp: likewise
* test/create-missing-nodes-mixin.lisp: likewise
* test/ignore-empty-results-mixin.lisp: likewise
* test/multi-location.lisp: likewise
* test/conversion.lisp: likewise
* test/macros.lisp: likewise
* test/local-time.lisp: likewise
* test/lisplab.lisp: likewise
* test/package.lisp (package xml.location.test): renamed
  cxml-location.test -> xml.location.test; adjusted documentation
  string accordingly
  (in-package xml.location.test): changed cxml-location.test ->
  xml.location.test
* xml.location.asd: renamed cxml-location.asd -> xml.location.asd
  (system xml.location): renamed cxml-location -> xml.location;
  adjusted documentation string accordingly
  (system xml.location-test): similar
* lift-standard.config: adapted to name of root test suite
Moved lisplab, local-time integration into separate systems

* test/append-nodes-mixin.lisp (test suite append-nodes-mixin-root):
  removed slots m1 and m2
  (test append-nodes-mixin-root::smoke): removed matrix-based part of
  the test
  (test append-nodes-mixin-root::multiple-matches): use instances of
  `mock-domain-object' instead matrices; added comment
* test/lisplab.lisp (test lisplab-root::append): new test case; moved
  here from test/package.lisp
* test/package.lisp (mock-domain-object): new class; used in unit
  tests
  (print-object mock-domain-object t): new method; print
  `mock-domain-object' instances for debugging
  (xml-> element mock-domain-object): new method; deserialize
  `mock-domain-object' instances from XML
  (->xml mock-domain-object element t): new method; serialize
  `mock-domain-object' instances to XML
* xml.location.asd (package xml.location-system): added exported
  symbols version/list and version/string
  (+version-major+): new parameter; major version of the system
  (+version-minor+): similar
  (+version-revision+): similar
  (version/list): new function; return system version as list
  (version/string): new function; return system version as string
  (system xml.location): use `version-string'
  (system xml.location-test): likewise; removed test/local-time.lisp;
  removed fucked-up dependency on lisplab and test/lisplab.lisp
* xml.location-and-lisplab.asd: new file; contains definition of
  xml.location-and-lisplab system for xml.location and lisplab
  interoperability
* xml.location-and-local-time.asd: new file; similar
Various fixes in src/*.lisp

* src/types.lisp (list-of-length): removed; no longer used
  (%list-of-length): likewise
* src/append-nodes-mixin.lisp (setf @ list append-nodes-mixin string):
  new method; store all supplied values in the attribute
  (location-attribute append-nodes-mixin string): new method; create a
  sibling of the specified location, then create the specified
  attribute there
* src/create-missing-nodes-mixin.lisp
  (location-attribute create-missing-nodes-mixin string): handle
  results consisting of multiple nodes correctly
* src/multi-location.lisp (setf val list multi-location): new method;
  adjust set of matching nodes to the required size, then store
  supplied values
* src/xpath-creation.lisp (create-xpath-element): added &rest
  parameter to accept a list of additional predicates
  (create-xpath-element element eql :child t list): new method; create
  nodes matching simple predicates
  (create-xpath-element node eql :child eql :node eql nil): added
  &rest parameter to accept a list of additional predicates; changed
  specializer element -> node to allow operation on document node
  (create-xpath-element node eql :child eql * eql nil): likewise
  (create-xpath-element node eql :child eql :text eql nil): likewise
  (create-xpath-element node eql :child t integer): new method;
  dispatch to predicateless version
  (create-xpath-element :around node eql :child t integer): added
  &rest parameter to accept a list of additional predicates; changed
  specializer element -> node to allow operation on document node;
  call next method
  (create-xpath-element node eql :child string eql nil): added &rest
  parameter to accept a list of additional predicates; changed
  specializer element -> node to allow operation on document node
  (create-xpath-element node eql :child t list): likewise; only create
  node, if necessary; accept predicates specifying existence of
  children; recurse if a list of remaining predicates is specified via
  new predicates parameter
  (%expand-xpath-element): removed ftype declamation since length of
  returned list is no longer constant; adapted logic accordingly
* src/conversion.lisp (->xml t text t): propagate inner types to
  nested `->xml' call
  (->xml sequence eql 'string t): treat lists of strings specially
* src/construction.lisp (%compute-location-class): introduced
  args/rest to avoid assignment to parameter; do not add
  `create-missing-nodes-mixin' when assign-mode is :append
Renamed and improved README.org

* README.org: renamed README -> README.org; extended "Introduction"
  and "Tutorial" sections
Removed dependency on cl-dynamic-classes system

* src/compat.lisp: new file; contains `define-dynamic-class-family'
  macro
* src/package.lisp (package xml.location): removed used package
  dynamic-classes; import from xml.location.compat the symbol
  define-dynamic-class-family
* xml.location.asd (system xml.location): removed system dependency on
  cl-dynamic-classes; added file src/compat.lisp