ENH: rename Version -> SemanticVersion.

The changes are not only cosmetic, as Min/MaxVersion don't inherit from
the SemanticVersion class anymore. Min/MaxVersion are intended to work
wtih any class of Version.

We also fixed some rich comparison methods, hopefully all of them.
FEAT: start implementing DebianVersion.

Debian versioning is well defined and quite simple, and adding support
for it will be a good test to ensure depsolver can support multiple
version schemes.
FEAT: add comparison handling to DebianVersion.
REF: simplifies SemanticVersion comparison protocol implementation.
BUG: remote distlib bundled by accident.
Revert "REF: simplifies SemanticVersion comparison protocol implementation."

This reverts commit 831313cd703881f050c53f77314746aace0e48ba.
BUG: fix python 3 compatibility for comparison.
FEAT: add a Callable Trait.
ENH: fix DebianVersion string representation

We artificially added epoch/revision of 0 if not specified, which broke
round-tripping. It also unnecessarily polluted repo, pool and decisions
string representations.
ENH: initial support for alternate version semantics.
Merge pull request #4 from enthought/abstract_version

Abstract version