Model check data type

fixes #934 
possibly fixes #933

when running a model, check the syntactic format of the input data (must be same as header of the model's input file) 
@rhyolight I'm trying to check if the data on input is of the same type as the model's header; as we define in eg
` 
 "includedFields": [
        { "fieldName": "timestamp",
          "fieldType": "datetime"
        },
        { "fieldName": "consumption",
          "fieldType": "float",
`

but it seems for `datetime` type it's special - 1 field becomes represented as 3 (floats): 
`
XXX{'type': ['float', 'float', 'float', 'float'], 'name': ['consumption', 'timestamp.day of week', 'timestamp.time of day', 'timestamp.weekend'], 'special': ['', '', '', '']}
YYY{'_timestamp': datetime.datetime(2010, 7, 2, 0, 0), 'consumption': 5.3, 'timestamp': datetime.datetime(2010, 7, 2, 0, 0), 'gym': 'Balgowlah Platinum', '_sequenceId': 1033868715996551153, 'address': 'Shop 67 197-215 Condamine Street Balgowlah 2093', '_timestampRecordIdx': None, '_category': None, '_reset': 1}
ZZZ(FieldMetaInfoBase(name=u'consumption', type='float', special=''), FieldMetaInfoBase(name=u'timestamp.day of week', type='float', special=''), FieldMetaInfoBase(name=u'timestamp.time of day', type='float', special=''), FieldMetaInfoBase(name=u'timestamp.weekend', type='float', special=''))
E
`

can I assume it's always these 3 fields to represent 1 datetime column? Do we have a code that deals with this?

Thanks