Use a dict-based implementation for Environment

Inspired by the env implementation in fabric
Add some tests for mksite
Tests for rmsite
Better test utilities
Add TravisCI config