Added an additional version component - the development status.

This will allow us to distinguish between regular releases, prereleases
and development versions.
Added version status support into the build system.
Updated the build config files to deal with the version status.

I didn't make the status part of the version variables here, because
letters don't play too well with version comparison algorithms
(especially with CMake's, which only supports numbers).
Updated the Java bindings and docs to support the version status.
Bumped version to 3.0.
Merge pull request #1442 from SpecLad:version-status