emulator: Add remove operation in HCI hook callback

Now it is possible remove the HCI hook callback after running it at
least once. It working similar to glib watchers, and it is removed when
the function calback return false, otherwise it is kept.
tools/mgmt-tester: Add initial LE only discovery test
tools/mgmt-tester: Check for discovering event in stop discovery
tools/mgmt-tester: Add HCI check for LE only discovery
tools/conn-tester: Add initial skeleton

It was added a new file to manage connection tests. The conn-tester
skeleton has the test_le macro to add new tests, the initial pre setup
and post teardown functions.
tools/conn-tester: Notify when controller is added/removed

Register callbacks to get events when controller is added/removed. The
pre setup is finished when the controller is addes sucessfully. Remove
the controller is done in the end of the test an its resources are
freed.
tools/conn-tester: Powered on controller on pre-setup
tools/conn-tester: Create socket and bind to device

The setup step just create a new bluetooth socket and binds it to an
inexistent device.
tools/conn-tester: Connect and close socket in run step

For finishing the testcase, the run step does a connect to a device and
after 5 seconds, it will close the socket. Expected result: adapter
stops scanning and the connection is removed.
att: Fix coding style

Fix coding style for enc_read_blob(), enc_read_blob_resp(),
dec_read_resp(), enc_error_resp(), enc_find_info_req(),
enc_find_info_resp() and enc_prep_write().
attrib: Removed unused parameter from enc_write_resp()
att: Add decode prepare write support

Add function for decoding Prepare Write Request PDUs.
att: Add encode prepare write support

Add function for encoding Prepare Write Response PDUs.
att: Add decode execute write support

Add function for decoding Execute Write Request PDUs.
att: Add encode execute write support

Add function for encoding Execute Write Request PDUs.
unit: Add test for long write using gatt_write_char()