Added python_version() function + struct

solves issue #6 
If you compile everything on the same machine and in the same environment, there is no need for having a struct like this. If you have multiple versions of python on your system (I used to), then you can fill the struct using <patchlevel> and compare it with what is returned by python_version(). This allows to find things like compile/link inconsistensies. If boost::python had such a function, it would be easy to detect setup problems as you pointed out in the troubleshooting section.

The members should not be const for the struct. If you do not mean to change an instance, make the instance const so all members will be const.

The python_version() function will always return the same struct (though newly constructed).