qt: keep a list of requested payments

Keep a list of requested payments in the Receive tab so that a user can
recall previously created requests after closing their windows.

Currently this list is not stored between bitcoin-qt sessions. This can
be implemented later, but it is not clear where it should be stored as
I don't think it belongs in the wallet (maybe in QSettings?)
[Qt] allow deletion of payment-requests in sendcoins

- this adds a delete button for insecure and secure payment requests in
  the sendcoins dialog
- it also enables the delete button even for single and empty entries, as
  this is much easier to handle and doesn't need to special case single
  entries
- big parts of the ui file were changed, because I copied the delete
  button and had to delete the layout too and created it from scratch
  (which seems to cleanup the rows and colums in the layout also, which is
  nice IMHO)
autogen.sh: Add a /bin/sh shebang.
autogen.sh: Use set -e to fail if any command fails

In preparation for expanding autogen.sh.
autogen.sh: Support running from outside the source directory

Initial steps towards supporting out-of-tree builds.
autogen.sh: Use long options to autoreconf, for self-documentation
autogen.sh: Stop passing --verbose to autoreconf

This quiets down the autotools build, making warnings much more visible.
configure.ac: Check for miniupnpc headers, not just -lminiupnpc

This protects against broken systems which have libminiupnpc.a or
libminiupnpc.so installed but don't have the miniupnpc headers.
src/Makefile.am: Simplify clean of leveldb
mutex debugging routines: LocksHeld() and AssertLockHeld()
Merge pull request #3306

84b695c [Qt] allow deletion of payment-requests in sendcoins (Philip Kaufmann)
Merge pull request #3329 from gavinandresen/syncdebug

mutex debugging routines: LocksHeld() and AssertLockHeld()
Make unit tests succeed with -DDEBUG_LOCKORDER
Fix a rare crash on Mac OS X, by removing a setFocus on the payTo field that was not necessary, as the field still receives focus without it.
Merge pull request #3339

bae6c7e Fix a rare crash on Mac OS X, by removing a setFocus on the payTo field that was not necessary, as the field still receives focus without it. (Ryan Niebur)
Lossless image optimization

less bytes, same images
Merge pull request #3341 from Need4Video/master

Lossless image optimization
[Qt] coin-control features GUI cleanup 2

- remove monospace labels from sendcoinsdialog also
- use a validated line edit for the change address
- add a tooltip to change address switch
- ensure we have a valid change address in
  CoinControlDialog::coinControl->destChange or just CNoDestination()
- some small ui file changes
[Qt] coin-control features GUI cleanup 3

- remove style sheets from ui files and use Qt attributes instead
- make some more strings untranslatable, to make life for translators
  easier
- split up long tooltips an rework the texts a little
Sanitize assert usage and refuse to compile with NDEBUG.

There were quite a few places where assert() was used with side effects,
 making operation with NDEBUG non-functional.  This commit fixes all the
 cases I know about, but also adds an  #error on NDEBUG because the code
 is untested without assertions and may still have vulnerabilities if
 used without assert.