message: [RPC] Error when calling getreceivedbyaddress with non-wallet address
  When calling `getreceivedbyaddress` with a non-wallet address, return a
  proper error code/message instead of `0`
diff: @@ -553,7 +553,7 @@ UniValue signmessage(const UniValue& params, bool fHelp)
  UniValue getreceivedbyaddress(const UniValue& params, bool fHelp)
  {
  if (fHelp || params.size() < 1 || params.size() > 2)
  - throw runtime_error(
  + throw std::runtime_error(
  "getreceivedbyaddress \"pivxaddress\" ( minconf )\n"
  "\nReturns the total amount received by the given pivxaddress in transactions with at least minconf confirmations.\n"
  @@ -582,7 +582,7 @@ UniValue getreceivedbyaddress(const UniValue& params, bool fHelp)
  throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid PIVX address");
  CScript scriptPubKey = GetScriptForDestination(address.Get());
  if (!IsMine(*pwalletMain, scriptPubKey))
  - return (double)0.0;
  + throw JSONRPCError(RPC_WALLET_ERROR, "Address not found in wallet");
  // Minimum confirmations
  int nMinDepth = 1;
  @@ -591,7 +591,7 @@ UniValue getreceivedbyaddress(const UniValue& params, bool fHelp)
  // Tally
  CAmount nAmount = 0;
  - for (map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it) {
  + for (std::map<uint256, CWalletTx>::iterator it = pwalletMain->mapWallet.begin(); it != pwalletMain->mapWallet.end(); ++it) {
  const CWalletTx& wtx = (*it).second;
  if (wtx.IsCoinBase() || !IsFinalTx(wtx))
  continue;
  