[neo-project/neo] Prioritize verification of higher fee TXs and do not starve RpcServer w/ Large mempool (#356)

When there is a large mem_pool readers RpcServer should be able to do as much concurrently as possible. This change is build on top of #355 that switches to using R/W locks for higher concurrency. It causes TXs to be verified in batches of 1000 instead of all at once starving the RpcServer.
You can view, comment on, or merge this pull request online at:

https://github.com/neo-project/neo/pull/356

— Commit Summary —

* Use R/W Locking for mempool, cache, and block headers for greater concurrency.
* Prioritize verification of high fee txs and do not starve RpcServer with a large mem_pool.

— File Changes —

M neo/IO/Caching/Cache.cs (69)
M neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.cs (67)
M neo/Network/LocalNode.cs (81)

— Patch Links —

https://github.com/neo-project/neo/pull/356.patch
https://github.com/neo-project/neo/pull/356.diff