Added python_version() function + struct

solves issue #6 
I understand what you're trying to enable (multiple Python versions haunt me), and I guess it's a question of philosophy. The purpose of this struct in my view is to report the version of Python that the library was built against. By adding support for creating them with arbitrary values, and by letting them ever be mutable, you automatically require comparison operators and unit tests that are not otherwise necessary. On balance, the maintenance cost outweighs the dubious utility to our users (thought both are admittedly small); making the appropriate check is trivial without our adding explicit support for it.