improve type detect in FMDatabase.bindObject:obj when obj is a NSNumber

We should enum all possible in NSNumber, or we may get an incomprehensible result.

e.g. in XCode5, the result of `[@NO objCType]` is `@encode(char)`,  not `@encode(BOOL)`