Replace the old virtualenv

This replaces the virtualenv setup with a standardised setup that is more frequently seen in Python projects. This wraps all virtualenv commands to the Makefile, so dependency issues should not be encountered if you use the Makefile for all commands.

## IMPORTANT - Developers!

Please run the following commands to set up the new development environment:

```
    $ make install-test
    $ make clean
```