default dies if not given a coderef

This is mostly to avoid mistakenly doing
has attr => (default => 0);

and sillently getting $foo->attr as undef instead.


About tests, I'm aware there was already some tests for default on t/test.t but that seemed to be doing other things too, so I thought it would be better to have a t/default.t with default specific cases.

Let me know if you'd prefer anything differently.