Using absolute paths for whitespace checks

We were using relative paths for our whitespace checks, which caused varying
behavior based on our cwd...

atagar@morrigan:~/Desktop/stem$ ./run_tests.py --unit
...
TESTING PASSED (7 seconds)

atagar@morrigan:~/Desktop/stem$ cd ..
atagar@morrigan:~/Desktop$ stem/run_tests.py --unit
...
WHITESPACE ISSUES
* stem/example.py
  line 18   - indentation should match surrounding content (2 spaces)
  line 19   - missing 'with' import (from __future__ import with_statement)
  line 23   - indentation should match surrounding content (2 or 8 spaces)
  line 35   - indentation should match surrounding content (4 spaces)
  line 72   - line has trailing whitespace
  line 76   - indentation should match surrounding content (0 spaces)
  line 77   - indentation should match surrounding content (0 spaces)

* stem/run_tests.py
  line 289  - indentation should match surrounding content (2 spaces)
  line 486  - line has trailing whitespace

TESTING PASSED (19 seconds)

Note that 'example.py' isn't part of stem. It's an untracked file that I have
in the stem directory. The reason that it's being included in the whitespace
check is that we're grabbing all python files under 'stem' which, now that
we're one level up, is the whole project.

Using absolute paths that are relative of run_tests.py so we get consistent
results.
Supporting files in whitespace checks

We called os.walk() when determining the files for which we want to check
whitespace. However, when presented with a file rather than a directory this
causes us to not check anything...

>>> list(os.walk("/tmp/foo"))
[]

This broke our attempts to check 'run_tests.py', and let a couple whitespace
issues slip in. Fixing get_issues()'s handling for individual files.

Issue caught by Eoin on...
https://trac.torproject.org/7263
Rewrite Controller.repurpose_circuit test to use a newly created circuit.

Attempting to fix https://trac.torproject.org/projects/tor/ticket/7259 by
using a newly created circuit instead of parsing the GETINFO circuit-status
output.
Error when trying to parse the last line in router_status_entry.parse_file()

When calling the Controller's get_network_statuses() method the last line would
cause an exception because we tried to parse an empty string as a router status
entry. Aborting when we get to the end instead.
Link for the bug tracker

Adding a link to our front page for a bug tracker page on trac that's specific
to our project.
Image credits and licenses

Noting where the site images come from. Almost all of them are from the
collection I've gathered of free image resources
(http://www.atagar.com/freeMedia/).

I've tried pretty hard to avoid images with unknown licenses but there is one
exception: the anvil schematic for the API link. This is a fantastic image
and I've searched quite a bit to figure out where it originally came from
(found it on a blog but doubt that's the source). Pity...
Adding contact link

Adding a link to my contact page. I'd prefer for people to contact tor-dev@,
but I've learned from experience that I'll get quite a bit more input by
providing a text field that doesn't require subscription.
Adding a logo for stem

Logo for the stem project, curtsey of the WP Clipart project.
stem.process integ test with RUN_SOCKET target broken

Ok, this puzzled me for a while. Our stem.process integ tests make
'/tmp/stem_integ' to be its temporary data directory for the run, then cleans
it up afterward.

This is great, except that the RUN_SOCKET causes us to run with the following
in its torrc...

ControlSocket /tmp/stem_integ/socket

It's a coincidence that both use the same tmp directory, but it's not
necessarily bad. What was bad, though, is that...

* the stem.process tests broke since the mkdir call for stem_integ failed
* if that hadn't failed our tearDown would have deleted stem_integ, and with it
  our control socket causing all further tests to fail

We should probably use the tempfile module to make our stem.process data
directory, but for now just being lazy and having it account for the RUN_SOCKET
target.

Caught by Ravi on...
https://trac.torproject.org/7284
merging changes from the tor master
Merge branch 'master' of git://git.torproject.org/stem

Conflicts:
	run_tests.py
	test/integ/process.py
updates to .gitignore
spelling fixes