add `allow_default` - permits loud failing of non existent settings

add loud fail to `pyconfig.Config`, `pyconfig.get`, `pyconfig.Setting`, and `pyconfig.setting`

Tests and documentation added as well.