Version is a property, don't invoke or define as a method

@cpennington this should be a property, no? It's causing test failures in edx-platform that this is being invoked as a method. And we define it as a property in BlockUsageLocator (https://github.com/edx/opaque-keys/blob/master/opaque_keys/edx/locator.py#L655) but not in CourseLocator.
I would use `abstractproperty` instead, to indicate that it's required.