Gcc 4.9 LTO fix

The new lto format requires use of the gcc-provided gcc-ar and
gcc-ranlib binaries.
Link to pthreads on non-apple unix
Fix for orphan fix (check blocksize)
new error code for rpc
Fix to disable LTO for Clang

The previous code was assuming Apple == Clang.  This change should both
enable LTO when using gcc on Apple and fix Clang when using it on other
platforms.
added vim swap files to .gitignore
most functions prototyped/modified for wallet recovery
defaulted new parameters in modified functions
compile issues, resolve later.  commiting because switching machines
revert 'dirty hack' change to crypto.h.  need a better way for sure.
missing '.at' on two map calls.  built on some machines, very strange...
builds, but doesn't link.  other than that, electrum-style recovery implemented (but not tested\!)
fixed some pointer- and loop-based derps
more pointer-based derp
stupid signed arithmetic.
DRY cin input_line (and test replacement of non-DRY usage)
reworked command line args for simplewallet.

--generate-new-wallet and --wallet-file are now properly mutually-exclusive.
allow two-random-numbers wallet generation (but not as default)
Merge pull request #34 from tewinget/master

Add electrum-seed wallet backup/recovery
changed some print messages