Validate lengths of self-serve payment address fields

Fixes a bug where customers were seeing a 500 error if they entered an address that was too long.
Make POST_hide only allow Links through VByName.

Someone has been sending Comment fullnames to POST_hide and that
results in an error on our side and a 500 for them. They really
should be getting a proper error message back instead.
Fix encoding and do escaping in authorize.net xml

- Escapes &, <, and > except in extraOptions tags, which need to allow special
    characters
- Encodes string as UTF-8 before sending it over the wire
- Replaces xml entities in responses with the correct chars

This change should fix some of the 500 server errors people were getting when
they had unusual characters in their payment info.
setup.py: Add temporary Pycassa 1.7 download link.

reddit relies on pycassa/pycassa@91a5887defc732a87fb8ad8667220d30698f7d33
but at time of writing there still isn't a release that contains this
patch. Until that's available, we'll add a custom download link.
setup.py: Gracefully handle when Cython is not installed.
setup.py: Add missing lxml dependency.

filters.py depends on lxml. This dependency was missing.
setup.py: Ensure webhelpers==0.6.4.

Newer webhelpers packages cause issues with Routes.
Gracefully degrade when cassarel lookups fail.

The relation lookups currently do a multiget that will likely end up
hitting every node in the ring, until this can be fixed they are very
susceptible to load spikes. Rather than losing the whole request and
returning a 500/YBR to the user, if one of these lookups fail, we'll
just plow on.
Fix for error 500 being thrown at registration
Use CL ONE for Cassandra Save/Hide lookups.

Looking up saves and hides generally results in a big multi-get that'll
end up hitting most of the ring. During load spikes this is a big issue.
Let's try reducing the CL to reduce load.
Add subreddit query for unmoderated links.
CL ONE for ModAction lookups.
Don't use self.totals if it doesn't exist (day traffic issue).
Show reddit search "facets"

If search results contain hits from more than one subreddit,
the top 20 will be selectable to click through and narrow
results
Fix "what's this" help link in spotlight

When the user clicks "what's this?" we query the dom with .thing:visible to
find out what kind of link is being displayed so we know which blurb to show.
However, we were calling hide() on the link before doing the query, which
meant it didn't match the .thing:visible filter and we were always falling back
to the default.

This fixes a bug where we were showing the rising links help blurb when the
user clicked "what's this?" on a promoted link.
Enable subreddit discovery spotlight ads

Checks to see if there's a field called sr_discovery_links in the .ini file
and, if there is, mixes those links in with rising links in the spotlight.
Promoted links are still inserted as before.

Example of what the .ini file entry would look like:
sr_discovery_links = t6_hq, t6_hr, t6_hs
Run queries.ban on all spam things so spam_filtered will update.
On deletion remove links from unmoderated_links.
Clean up in POST_del.
Add a /rules page