iputil: handle openbsd5 (just like openbsd4)

Patch by 'sickness'. Closes #1584
Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml

They were probably meant to be links to webform_css, but we aren't really
using Nevow's form-generation code anyways, so they can just be removed.
Thanks to 'marcusw' for the catch.
1585-webui.darcs.patch
remove remaining uses of nevow's "formless" module

We're slowly moving away from Nevow, and marcusw's previous patch removed
uses of the formless CSS file, so now we can stop testing that nevow can find
that file, and remove the lingering unused "import formless" call.
Strengthen description of unauthorized access attack in known_issues.rst.
tiny change to exercise the buildbot hook
more tiny buildbot-testing whitespace changes
more tiny buildbot-testing whitespace changes
docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.
setup.py: get version from git or darcs

This replaces the setup.cfg aliases that run "darcsver" before each major
command with the new "update_version". update_version is defined in setup.py,
and tries to get a version string from either darcs or git (or leaves the
existing _version.py alone if neither VC metadata is available).

Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
setup.py: stop putting pyutil.version_class/etc in _version.py

allmydata.__version__ can just be a string, it doesn't need to be an instance
of some fancy NormalizedVersion class. Everything inside Tahoe uses
str(__version__) anyways.

Also add .dev0 when a git tree is dirty.

Closes #1466
Marcus Wanner's favicon patch. fixes #1592
test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.
Tests for ref #1592.
minor cleanup: remove trailing spaces in misc/
doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature
embedded URIs, although documented here:
http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris
generate messages like this from rst2html --verbose:

quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list".

Also this patch prepends a "utf-8 BOM" to the beginning of the file.
docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes
mutable publish: track multiple servers-per-share. Fixes some of #1628.

The remaining work is to write additional tests.

src/allmydata/test/no_network.py:

 This supports tests in which servers leave the grid only to return with
 their shares intact at a later time.

src/allmydata/test/test_mutable.py:

 The UCWEs in the incident reports associated with #1628 all seem to be
 associated with shares that the servermap knows about, but which aren't
 accounted for during the publish process for whatever reason. Specifically,
 it looks like the publisher is only capable of keeping track of a single
 storage server for a given share. This makes the repair process worse than
 it was pre-MDMF at updating all of the shares of a particular file to the
 newest version, and can also cause spurious UCWEs. This test simulates such
 a layout and fails if an UCWE is thrown. We need to write another test to
 ensure that all copies of a share are updated to the latest version (or
 alter this test to do that), so that the test suite doesn't pass unless both
 regressions are fixed.

 We want the publisher to follow the existing share placement when uploading
 a new version of a mutable file, and we don't want this test to pass unless
 it does.

src/allmydata/mutable/publish.py:

 Before this commit, the publisher only kept track of a single writer for
 each share. This is insufficient to handle updates in which a single share
 may live on multiple servers. In the best case, an update will only update
 one of the existing shares instead of all of them. In some cases, the update
 will encounter the existing shares when publishing some other share,
 interpret it as a sign of an uncoordinated update, and fail. Keeping track
 of all of the writers helps ensure that all existing shares are updated, and
 helps avoid spurious uncoordinated write errors.
mutable publish: fix not-enough-shares detection. Refs #1628.

This should match the "fix-1628.darcs.2.patch" attachment on that ticket.
test_mutable: don't use 75 shares (slow), now that the bug is fixed

I missed this part of Kevan's fix-1628.darcs.2.patch .