### Describe the issue

The `getblocktemplate` RPC output does not list the 'rules' field in the template request object, as described in BIP9.
### What version of bitcoin-core are you using?

0.13.1rc1

BOOST_FOREACH (CTransaction& tx, pblock->vtx) {
        uint256 txHash = tx.GetHash();
        setTxIndex[txHash] = i++;
        if (tx.IsCoinBase())
            continue;
        UniValue entry(UniValue::VOBJ);
        entry.push_back(Pair("data", EncodeHexTx(tx)));
        entry.push_back(Pair("txid", txHash.GetHex()));
        entry.push_back(Pair("hash", tx.GetWitnessHash().GetHex()));
        UniValue deps(UniValue::VARR);
        BOOST_FOREACH (const CTxIn &in, tx.vin)
        {
            if (setTxIndex.count(in.prevout.hash))
                deps.push_back(setTxIndex[in.prevout.hash]);
        }
        entry.push_back(Pair("depends", deps));
        int index_in_template = i - 1;
        entry.push_back(Pair("fee", pblocktemplate->vTxFees[index_in_template]));
        entry.push_back(Pair("sigops", pblocktemplate->vTxSigOpsCost[index_in_template]));
        entry.push_back(Pair("weight", GetTransactionWeight(tx)));
        transactions.push_back(entry);
    }
    UniValue aux(UniValue::VOBJ);
    aux.push_back(Pair("flags", HexStr(COINBASE_FLAGS.begin(), COINBASE_FLAGS.end())));
    arith_uint256 hashTarget = arith_uint256().SetCompact(pblock->nBits);
    UniValue aMutable(UniValue::VARR);
    aMutable.push_back("time");
    aMutable.push_back("transactions");
    aMutable.push_back("prevblock");
    UniValue result(UniValue::VOBJ);