qt: add proxy to options overridden if necessary.

If proxy is disabled in the gui but enabled via the command line, it needs to
be added to the override list.
travis: add non-default shell testing to travis.
Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems
Bugfix: Replace bashisms with standard sh in gitian descriptors
Bugfix: Replace bashisms with standard sh in tests/tools
Disable App Nap on OSX 10.9+
minor license, header end comment etc. cleanup in /script

- ensure all licenses are just MIT
- add a missing header end comment
- ensure alphabetical ordering
fix a lock indentation in main.cpp

- also ensure alphabetical ordering in file header
minor txindex documentation improvement
Homebrew lang fix

Very small tweak to correct the language on Homebrew's sandboxing process.

Discussed in [this commit](https://github.com/bitcoin/bitcoin/commit/9fedafba4b903d7f3af044eb86dc313856e40b08).
Merge pull request #5049

4dc5eb0 fix a lock indentation in main.cpp (Philip Kaufmann)
5eed8c2 minor license, header end comment etc. cleanup in /script (Philip Kaufmann)
Don't return an address for invalid pubkeys
Merge pull request #4954

9d7cd4c Don't return an address for invalid pubkeys (Andy Alness)
Merge pull request #5038

0b17964 Bugfix: Replace bashisms with standard sh in tests/tools (Luke Dashjr)
ab72068 Bugfix: Replace bashisms with standard sh in gitian descriptors (Luke Dashjr)
b77b4ed Bugfix: Replace bashisms with standard sh to fix build on non-BASH systems (Luke Dashjr)
d6b0539 travis: add non-default shell testing to travis. (Cory Fields)
Merge pull request #5053

27368e7 Homebrew lang fix (Dominyk Tiller)
contrib: revert changes to github-merge.sh in #5038
Merge pull request #5047

3e61eb9 minor txindex documentation improvement (Cozz Lovan)
Merge pull request #5041

1f9be98 Disable App Nap on OSX 10.9+ (Michael Ford)
Merge pull request #4976

27c3e91 qt: add proxy to options overridden if necessary. (Cory Fields)
Headers-first synchronization

Many changes:
* Do not use 'getblocks', but 'getheaders', and use it to build a headers tree.
* Blocks are fetched in parallel from all available outbound peers, using a
  limited moving window. When one peer stalls the movement of the window, it is
  disconnected.
* No more orphan blocks. At all. We only ever request a block for which we have
  verified the headers, and store it to disk immediately. This means that a
  disk-fill attack would require PoW.
* Require protocol version 31800 for every peer (released in december 2010).
* No more syncnode (we sync from everyone we can, though limited to 1 during
  initial *headers* sync).
* Introduce some extra named constants, comments and asserts.