info.timerState should be restricted in simulator for 1.x devices

o A Descriptive Title (i.e. “Simulator Freezes Launching App in Eclipse”)
info.timerState should be restricted in simulator for 1.x devices

o The Environment:
Windows 10
Eclipse Neon.2 (4.6.2)

o A detailed description of the issue
According to the documentation for Activity.Info.timerState [1], it should only be available for devices with support for ConnectIQ 2.1.0 and later. Unfortunately, the simulator doesn't restrict the field appropriately, which can leave developers believing that the field is available where it is not.

o Steps to reproduce the issue
Build the attached test case. Run it on the simulator under a device configuration with 1.3.0 support. If you examine the console output, you will see that the navigation and derailleur related fields are restricted, but timerState is not. If you look at the simulated device screen, you should see NONE, but that is not what you'll see in the simulator.

Actual devices do behave correctly.

o Any applicable additional information
N/A

o A code sample that can reproduce the issue (in email only if preferred)
using Toybox.Application as App;
using Toybox.System as Sys;
using Toybox.WatchUi as Ui;

class XDataField extends Ui.SimpleDataField
{
function initialize() {
SimpleDataField.initialize();
}

const _M_names = [
"OFF",
"STOPPED",
"PAUSED",
"ON"
];

function summarize(info, field, name) {
Sys.println(Lang.format("info has :$1$ => $2$", [ name, info has field ]));
}

hidden var _M_once;

function compute(info) {

if (_M_once == null) {
_M_once = true;

summarize(info, :bearing,
"bearing");

summarize(info, :bearingFromStart,
"bearingFromStart");

summarize(info, :distanceToDestination,
"distanceToDestination");

summarize(info, :distanceToNextPoint,
"distanceToNextPoint");

summarize(info, :elevationAtDestination,
"elevationAtDestination");

summarize(info, :elevationAtNextPoint,
"elevationAtNextPoint");

summarize(info, :frontDerailleurIndex,
"frontDerailleurIndex");

summarize(info, :frontDerailleurMax,
"frontDerailleurMax");

summarize(info, :frontDerailleurSize,
"frontDerailleurSize");

summarize(info, :nameOfDestination,
"nameOfDestination");

summarize(info, :nameOfNextPoint,
"nameOfNextPoint");

summarize(info, :offCourseDistance,
"offCourseDistance");

summarize(info, :rearDerailleurIndex,
"rearDerailleurIndex");

summarize(info, :rearDerailleurMax,
"rearDerailleurMax");

summarize(info, :rearDerailleurSize,
"rearDerailleurSize");

summarize(info, :track,
"track");

summarize(info, :timerState,
"timerState");
}

var result = "zebra";

if (info has :timerState) {
if (info.timerState != null) {
result = _M_names[info.timerState];
}
else {
result = "NULL";
}
}
else {
result = "NONE";
}

return result;
}
}

class XApp extends App.AppBase
{
function initialize() {
AppBase.initialize();
}

function getInitialView() {
return [ new XDataField() ];
}
}