Support microsecond precision timestamp on Python 3.3+
======================================================
Previous implementation of `arrow.Arrow.timestamp()` has precision of a second, since `datetime.datetime.utctimetuple()` returns a `time.struct_time` which doesn't even have a microsecond field.
In this commit, we switch to [`datetime.datetime.timestamp()`][1], available on Python 3.3 or later, which supports microsecond precision.
By the way I'm using `hasattr` for feature test now. Not sure if you prefer try...except-styled feature test.
[1]: https://docs.python.org/3/library/datetime.html#datetime.datetime.timestamp