Handle Existent and Nonexistent Barns

Fixes #9

* Flesh-out `test_double_define_error` and `test_build_unknown` tests
* Add `Barn::Exists` and `Barn::Unknown` error classes
* Raise `Barn::Exists` when redefining a `Barn`
* Raise `Barn::Unknown` when trying to build a nonexistent `Barn`