Make `integer()` validator work with any integer-like object

I got caught by this issue the other day, because I was using some values coming from SQLAlchemy (using MySQL driver), and it happened to be a `long()` instead of an `int()`, and troposphere raised an exception during validation. I think troposphere should use more duck typing. If anyone compares strictly instance types in Python the sooner or later he is going to get caught...

I am not familiar with all the codebase, and I don't know all the implications of raising an exception inside of `integer()` validator, but I see other validators raise exceptions, so I thought it should be fine.