Add support for non-standard directory layouts

# Context
On FreeBSD, pypy has been modified to follow the same layout as python, so as to better facilitate the installation of python packages on different python implementations (without having to rework the underlying ports).  

Since virtualenv hard codes the directory layout, this breaks virtualenv under pypy on FreeBSD, and on any python implementation that does not conform to virtualenv's assumptions about directory layout.  

# Changes
This pull request removes the hard codings and instead replaces them with paths provided by sysconfig.  sysconfig was used in favour of distutils.sysconfig as the later does not provide an interface for getting 'script' or 'bin' paths.