Make Frontmatter.fetch a bit more understandable, and add more tests

Using splat arguments lets Frontmatter.fetch self describe more clearly.

Add a new test to spec what happens if any additional arguments are sent (as
*args will capture many arguments).

Add another test for some negative cases too