Continuous Integration

Lots of updates to help keep the code quality high. Unit and functional testing are coming up next, this gives a good base to start from.