Initial tests

@vasinov here is some initial testing infrastructure: 

* use of `Minitest::Spec`-style tests
* use of `cane` for basic lint checks (style and complexity)
* setup for Travis CI (you'll need to enable this in Travis and the Github webhook callback)
* very basic initial stub tests

A few notes about the initial tests:

* the `it { subject.must_respond_to :name }` specs are because I would generally be test-driving code like this, even `attr_accessor`s
* the empty `describe` blocks are placeholders for methods which I do not have fixture data for yet

If this setup and style will work for you, I'll begin on the real meat of the tests and refactoring the code.