Some proof-of-stake checkings refactoring

* Implement CBlock::CheckSignature() method for signatures and proofhash checking;
* Move PoW header signature checking to new CBlock::CheckLegacySignature() method;
* Remove some redundant messages from debug.log output;
* Make some DoS checkings harder.

Another changes:

* getblock and getblockbynumber RPC calls are now providing generator public key for proof-of-stake blocks.