We should be warning if a controlled component becomes uncontrolled, or vice versa.

I thought this was fixed in https://github.com/facebook/react/issues/5821, but apparently it was either not fixed for checkbox components, or maybe I subsequently broke it in https://github.com/facebook/react/pull/7003 (or similar).  Regardless, we should fix it.

Demo of case that should warn: https://jsfiddle.net/s4742gkk/

/**
 * Copyright 2013-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @emails react-core
 */
'use strict';
var emptyFunction = require('emptyFunction');
describe('ReactDOMInput', function() {
  var EventConstants;
  var React;
  var ReactDOM;
  var ReactDOMServer;
  var ReactDOMFeatureFlags;
  var ReactLink;
  var ReactTestUtils;
  var inputValueTracking;
  function setUntrackedValue(elem, value) {
    var tracker = inputValueTracking._getTrackerFromNode(elem);
    var current = tracker.getValue();
    elem.value = value;
    tracker.setValue(current);
  }
  beforeEach(function() {