Tests refactorings

I read your blog post and I propose a few changes to your specification essentially to avoid getting errors instead of failures:

- added several tests under the same should section
- used the latest specs2 with the possibility to pass functions
  to beSome
- created custom matchers to deal with the comparison of Options
- note: find should return an Option