Cache platform detection calls
Refactor all 'actual' tests to use shared_examples

This helps make all platforms execute exactly the same test suite and
massively reduces code required for each test. <3 rspec