Add a Travis configuration to Gerritbot

This allows it to have the tests run through Travis CI.

2014-09-27 Patch set 2: include install and running info

Change-Id: I7b6921ae1d02d70d8a558c5f71f437ab03d0aff1
Merge branch 'add-travis' into tidyups

I want travis support for what I'll be doing shortly.
Python 3: convert to using print as a function

Change-Id: I0bd85b2acc639f4538d0f92e3aae47b44b764333
Python 3: Cope with the configparser import being renamed

On Python 3, this has been renamed to be in all lowercase.

Change-Id: I19ed151aa7f7a4d1e1f11be4b4867e6eb92caff5
Use RawConfigParser rather than ConfigParser

We don't need the variable substitution handling, but leaving this
in does cause issues under python 3 due to the %s' present in the
link templates.

Change-Id: I0c26139db7d18c1068a4b7bafc01069ffb107e39
Update the example config to match reality

We've not had a direct IRC connection in this repo for a while now,
and we need a traclink template.

Change-Id: I8d1045d8fd65e56c39b2ff068dee25636c715d04
Make project links configurable

Move generation of the project link to a helper and have it use a
config value for the template.

Change-Id: I881e6129bc52b78994954ef757655cb41a70a75f
Claim support for Python 3 now that that works

Change-Id: Iacbfd0e66457e5a683e5631255481262c749ad5a
Update pipebot for Python 3 fixes

This also switches it to use a relative repo root so that Travis-CI
can pick up my changes even though they're not in the main SR repo
yet.

Change-Id: Ife1fbc01da7fad9e739aceced4820b0f8962aaaf
Modify the tests to use the example config

This means they still run and pass even when the local config has
been changed. This will be particularly useful when we get around
to removing the live config from this repo and put it into puppet.

Change-Id: I7eafb160a700dffece07124cb94100b59ab42312
Use setdefault rather than explicit check and set

Change-Id: I7a903986209a307eaae658baab409b74970fd2e8
Prefer use of super()

Change-Id: I1d6522fdd0bac31515e970e5cc239d7c542ca322
Explicitly label global variable access

Change-Id: Ie3a8cf21ded30d1fa74e2ccf25e88dd1d084c4b0
Switch from print()int to logging

This makes it much easier to customise where the output ends up,
but for the moment just dump everything to stdout as it was previously.

Change-Id: I2315aa2b980e1a3b17e046a9d85043e6d1f6e4ae
Also log errors from Gerrit.

This is very helpful when trying to debug why it won't connect.

Change-Id: I41e9046389962dc839e1d2bcece16357089b25cf
Fix multi-exception catching on Python 3

Change-Id: Ide2d3d057c8fafde5c2e0e6a6901be479ce14666
Add an __init__.py so this repo can be used as a package

Change-Id: I68089588f62351824126b07ef6426cbd45953e6a
Test fixes now that the root is a package

Change-Id: I91e5361f5ed3a4c0b91001b443b1e024d076a971
Adjust another use of ConfigParser
Further import hackery