version: store version in one place

Use this version in `setup.py` and for `--version`.
watcher: handle non-existent configuration file

When a non-existent file is requested, the `Conf` object can return
`None` instead of an empty object. We handle this case and consider we
get an empty object instead.
Merge pull request #24 from vincentbernat/fix/version

version: store version in one place
join: make join work on files and not just directories

`watchdog.observer.Observer` is not able to watch a file. It needs to
watch a whole directory. We make it watch the parent directory and
check we only get notified for real changes for our file/directory.
Merge pull request #25 from vincentbernat/fix/inexistent-file

watcher: handle non-existent configuration file
Merge pull request #26 from vincentbernat/fix/joiner-with-files

join: make join work on files and not just directories
joiner: handle file moved events as well

When a file is moved from one location to the target location, the
source location may not match what is required for the target
location (for example, when the target location is a file). We handle
this. This fixes a regression in 5c73ce.
Merge pull request #28 from vincentbernat/fix/detect-file-move

joiner: handle file moved events as well
joiner: on some version of watchdog, the destination path is `dest_path`, not `dst_path`
php: fix dumping of arrays with integers

Python `join()` function only handles strings. We need to ensure that
we only provide strings.
php: handle booleans

Booleans were not handled when serializing to PHP.
Merge pull request #29 from vincentbernat/fix/detect-file-move

joiner: on some version of watchdog, the destination path is `dest_path`...
Merge pull request #30 from vincentbernat/fix/php-arrays

php: fix dumping of arrays with integers
Merge pull request #31 from vincentbernat/fix/php-booleans

Fix/php booleans
tests: add support for tox

We also enable to run unittests from setup.py. This requires some
changes, like adding the needed dependencies but also we have to be
able to run setup.py with dependencies missing. We also need to ship
files needed by setup.py.
tests: make test work with Python 2.6 as well
tests: use Travis-CI for tests
Merge pull request #33 from vincentbernat/feature/tox

Use tox to run unittests
travis: fix use of environment variable
Merge pull request #34 from vincentbernat/fix/travis

travis: fix use of environment variable