builder: add spec for subclass override and roles
init_arg: extract spec to separate file
init_arg: make attr unsettable via constructor when None

Make attributes unsettable via the constructor when init_arg is
``None``, bringing Elk in line with the behaviour of Moose.

Update spec to test this behaviour.
delegation: rename "delegate" arg to "handles"

Rename "delegate" to "handles", bringing Elk in line with Moose
terminology, since I can't think of any reason why "delegate" would
make more sense to Pythonistas than "handles".
delegation: add spec for delegation to method

Add spec for single-level and multi-level delegation to method.

Also reorganise specs to have more BDD-ish names and include
assertions that assignment and deletion through delegations modify
the inner value in the expected way.