don't override dir() in qa rpc tests

Replace "dir" with "dirname" in util.py in qa/rpc-tests/ because "dir"
is the name of a function in python.
[Qt] Fix height of BitcoinAmountField
Merge pull request #5287

7335ca1 [Qt] Fix height of BitcoinAmountField (Cozz Lovan)
[OSX, docs] update some release build informations

- switching release builds to 10.7
- release binary looks like 64bit only
- tested up to 10.10
- gitian builder builds against 10.7. The docs should be consistant.
- remove 32bit text because nowadays it's obvious to support 64bit only on OSX.
Merge pull request #5282

a7af983 don't override dir() in qa rpc tests (Bryan Bishop)
Improve chainstate/blockindex disk writing policy

There are 3 pieces of data that are maintained on disk. The actual block
and undo data, the block index (which can refer to positions on disk),
and the chainstate (which refers to the best block hash).

Earlier, there was no guarantee that blocks were written to disk before
block index entries referring to them were written. This commit introduces
dirty flags for block index data, and delays writing entries until the actual
block data is flushed.

With this stricter ordering in writes, it is now safe to not always flush
after every block, so there is no need for the IsInitialBlockDownload()
check there - instead we just write whenever enough time has passed or
the cache size grows too large. Also updating the wallet's best known block
is delayed until this is done, otherwise the wallet may end up referring to an
unknown block.

In addition, only do a write inside the block processing loop if necessary
(because of cache size exceeded). Otherwise, move the writing to a point
after processing is done, after relaying.
Introduce separate flushing modes