Add function/callable type validator to lua_shape core.
Implementation:
- check_callable(): Validates value is of type 'function'
- T.callable(opts): Constructor for callable type
- Returns type_mismatch error if value is not a function
This was missing from the initial implementation and is needed by
lua_meta.lua which validates callback functions in metafunction schemas.
Documentation added to README.md scalar types section.