Bluetooth: Introduce hdev->le_auto_connect list

This patch simply adds a linked list to hdev and some helper functions
that perform basic operations such as add, delete, lookup and clear.

The hdev->le_auto_connect list will store the device addresses the
kernel should autonomously connect to.

This new linked list is needed because we want to remove the auto_connect
option from struct hci_conn_params, therefore we cannot rely on hdev->
le_conn_params list anymore.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Bluetooth: Store auto connect information in le_auto_connect list

This patch changes the auto connect infrastructure so hdev->le_auto_conn
is used instead of hdev->le_conn_params list.

Besides that, since we now use le_auto_connect list we should delete
auto connect information during unpair and clear the list when hci
device is unregistered.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Bluetooth: Remove auto_connect from hci_conn_params

This patch removes the auto_connect option from strcut hci_conn_params
as well as all helper functions. Auto connection is now handled by
le_auto_conn list so we can safely remove it.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Bluetooth: Load Connection Parameters Command

This patch introduces the Load Connection Parameters command to
Management Interface. This command is used to inform the kernel
what connection parameters should be used during connection
establishment.

This command is only supported on controllers with LE support and
it can be issued while in power on or off mode. Finally, it only
accepts connection parameters from device with identity address.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>