html: test for all translation states and outcomes

Just to verify that we're doing the right thing when using untranslated,
translated and fuzzy (also with includefuzzy) strings.
accesskeys: space also signifies that we're not in an entity

We where failing with "& Something" as we never indicated that we where
not in an entity when we hit the 'space'.
fn tests: fix comment
pypo: correctly mark fuzzy units

I'm not sure why this is needed, I would have thought setting self.STATE
would be enough so that when we serialise the PO we get the correct
fuzzy markers.

This fixes a poswap bug were a target language having a fuzzy unit did
not have the fuzzy marker carried over to the combined file.  Thus the
combined file would contain a translated unit that was fuzzy in the
original language.
fn tests: test simple poswap
fn tests: poswap missing units

The reference language always wins
poswap: correct docstring poswap not po2swap
fn tests: poswap in reverse
fn tests: poswap with comments
fn tests: fix fallout from 88d921a5

Header with unset values are usually always set to fuzzy.  Seems that we
haven't been doing this for a while.  This fixes the functional tests to
have proper fuzzy headers.
docs: Add Makefile help and docs-review command
six: use latest version of six
pocount: better counting of things that looks like XML

Copied the XML re from placeables.  Probably should be sharing this re.
pocount: bump version for e2587ba8

Since this potentially changes counts we should force users to
invalidate any caches.
Tests: fixed docstring
properties: use proper Sphinx deprecations docs
pypo: use depr. decorator, add depr. reason

Add the reason for the deprecation and for keeping the function around.
Taken from the original commit message.
styleguide: documenting deprecation of features
Styleguide: Add import to deprecation example

If not people might forget about it.