Bitcoin-Qt: extend some checks for valid model pointers
Merge pull request #2926 from Diapolo/model_checks

Bitcoin-Qt: extend some checks for valid model pointers
RPC: Separate out JSON-RPC processing; prepare for HTTP REST processing.
Add unauthenticated HTTP REST interface, for querying blockchain data
REST: remove Bitcoin-Format header.  Replace with URL suffixes /json /hex
REST: Use lookup table for data format selection