handle: enumerate typ with int instead of string
att: move att related code to a separate file
att: add a helper function for error response
extend the end group handle of the last service to 0xFFFF

This could save one query during the primary service discovery
procedure.

Quoted from spec:
This sub-procedure is complete when the Error Response is received and
the Error Code is set to «Attribute Not Found» or when the End Group
Handle in the Read by Type Group Response is 0xFFFF.
l2cap_writer: rename Write*() to Write*Fit()

go vet expects the Write*() have same signature as bytes.Write*().
So we rename our variant consistently to Write*Fit().
fix typo of the format argument