added command to list workspaces
require phpcr beta5
Delete hard references

The `deleteAllNodes()` method does not work as advertised if there
are hard references anywhere inside of the repository. If someone
is calling `deleteAllNodes()` it is likely that they are desiring
that all of the nodes be deleted, references and all.

For example, `phpcr phpcr:purge` help states:

> The phpcr:purge command remove all the non-standard nodes from
> the content repository

This was not happening if references existed in the repository.
(Possible this was depending on implementation)
cosmetics
added command to export xml
also allow 2.2
small command cleanups
tweaked dump, purge and query commands
minor tweak
cleaned up erorr handling (exit codes and output)
use <error>
Merge pull request #25 from phpcr/fix_exit_codes

Fix exit codes
CS fix
fixed property name quoting
fix CS with the fabpot PHP-CS-Fixer
also support UUID's in the dump command
add setLevel()
Dot not escaped in path eval in Sql2Generator.php

I found this broken for my node path which was something like
/mypath/pages/23948327.3489

Im sure this fixes my problem. But its probably better to check for non-alpha-numeric characters using a regex. If so just escape it, i guess it cant hurt that much. But I leave that for the SQL2 gurus since this is my first real encounter with SQL2
jsr-333: implementation for generating node name
Improved orderBy logic in query builder

- Order order always sanitized to uppercase  -- should it be?
- Validation to check that given value is one of "ASC" or "DESC"
- orderBy reuses existing addOrderBy rather than copying the logic