Cleanup the echoprint codegen directory correctly
Merge pull request #331 from bendk/fixcleansh

Cleanup the echoprint codegen directory correctly
bz18891: don't create MenuItems in the backend thread

The old code had a call to eventloop.add_idle() before making menu items.  I'm
not sure what the point was, but it's definitely wrong to create GTK objects
inside that thread.  Removed the call and the crash goes away for me.
Use GUI timer to handle auto-download changes

The only code that connected to this just sent a message to the backend, so I
think the old code shouldn't have caused issues.  Still, for sanity sake we
should avoid running widgets code in the backend thread.
bz19033: handle items being removed in-between idle-iterator steps

Fetch all items at once and store them in a list rather than iterate through
self.items.  We shouldn't be using the same view after we yield and let other
threads access the DB.

Check for items being removed in-between when we've noticed their dups and
when we get around to deleting them.

These are both blind fixes, but I think they should be safe.  I'm also fairly
positive they will fix the bug.
Merge pull request #332 from bendk/fix18891

Fix18891
Merge pull request #333 from bendk/fix19033

bz19033: handle items being removed in-between idle-iterator steps
Revert "bz18863: Don't create display until we really need to show it."

This reverts commit d8bc1d5b37959f80b2f503d2bafe11842376e7d9.  It's an efficiency
speedup, but it's causing the widths of views to be calculated incorrectly.
use assertClose for the duration in MovieData tests
moviedata test updates

* split DRM test into one for OSX and one for GTK/Linux
* add a test for videos
Merge pull request #335 from paulswartz/bz18985

bz18985. fix failing MovieData tests on OS X
Merge pull request #334 from paulswartz/bz19019

Revert "bz18863: Don't create display until we really need to show it."
bz19020. localize "Close" button on GTK
add a couple new phones

* HTC Sensation
* HTC EVO 3D
bz19071: better debugging to figure out this problem.

This change definitely won't fix the bug, but it does help improve logging in
2 ways:
  - Added extra info when we call failed_soft()
  - Fix for stringify(), which is called by crashreporter so that it doesn't
    escape newlines.  Otherwise reading the log reports is pretty miserable.

I've tested this code by provoking the crash and it seems okay.
Merge pull request #337 from paulswartz/devices-20120423

add a couple new phones
Merge pull request #339 from bendk/debug19071

bz19071: better debugging to figure out this problem.
Merge pull request #336 from paulswartz/bz19020

bz19020. localize "Close" button on GTK
bz19040. some feeds break feedparser's image handling

I didn't actually see this with my version of Feedparser (it's returning a
dictionary with an 'href' key instead), but I can visualize it returning a
Unicode string given some feed.  This code tries to be a bit more careful about
checking the keys (and whether it's looking at a dictionary at all) before
overriding the thumbnail.
Fixed stringify() and its unittest.

My recent change to stringify() made it return unicode objects, which is
definitely wrong.  Added a call to encode afterwards to fix this.  Use the
replace error handler both ways since only that and ignore work for both
decoding and encoding.

Fixed the unittest so it passes.