Allow mining RPCs with --disable-wallet

The following mining-related RPC calls don't use the wallet:

- getnetworkhashps
- getmininginfo
- getblocktemplate
- submitblock

Enable them when compiling with --disable-wallet.
Move internal miner functionality together
Re-enable miner tests in --disable-wallet mode

Use a fixed script instead of a CReserveKey from the wallet.
This does not affect the functionality or result of the tests as they never
check the state of the wallet in the first place.
Merge pull request #3368 from laanwj/2013_11_disable_wallet_mining

Allow mining RPCs with --disable-wallet
Add protobuf-compiler dependency package for debian

Fixes #3361
Merge pull request #3378

b9c3416 Add protobuf-compiler dependency package for debian (Wladimir J. van der Laan)