Fix and optimize getrawtransaction parser

Return pointer to TxRawResult (instead of value itself) and use bytes.IndexByte instead of Strings.Contains.

This fixes btcrpcclient.GetRawTransactionVerbose. It would make sense to pass a pointer to the struct, instead of the struct by value, so I chose to change btcjson instead of btcrpcclient. While making the changes I found that strings.Contains was used where bytes.IndexByte() would suffice. It avoids a conversion (copy) from `[]byte` to `string` and comparison is cheaper.