ll: Parametrize advertising interval

This patch adds a parameter to ll_advertise_start() API to specify the
advertise interval.
ll: Parametrize advertising channels

This patch adds a parameter to ll_advertise_start() API to specify
which advertise channels should be used.
bci: Pack advertise parameters into a struct
bci: Add bci_get_advertising_params() API
bci: Add bci_set_advertising_params() API
bci: Move advertising data mtu definition to bci.h
bdaddr: Move bdaddr_t definition to bdaddr.h
Split adv_type_t in bci_adv_t and ll_pdu_t

Now the LL layer only knows about advertising PDUs and the BCI layer is
responsible to make the translation between the types.
common: Remove header common.h
assert: Add header containing a static assert macro
bci: Assert statically BCI/LL common symbols
bci: Add helper bci_ad_put()

This patch adds a helper function to append AD data types to the given
buffer. This function returns the number of octets written in the buffer, or
a negative value (-errno) if a wrong data type is informed. At the moment,
overflow is not handled, the caller must check if there are space enough to
insert the wanted AD types data.

Usage example:
size = bci_ad_put(buffer,
		BCI_AD_NAME_COMPLETE, name,
		BCI_AD_TX_POWER, tx,
		BCI_AD_INVALID);
bci: Add helper bci_ad_get()

This patch adds a helper function to extract advertising data types from a
given buffer. This function returns true if the buffer contains valid encoded
data.

Usage example:
result = bci_ad_get(buffer, sizeof(buffer),
		BCI_AD_NAME_COMPLETE, name,
		BCI_AD_TX_POWER, &tx,
		BCI_AD_INVALID);
bci: Add BCI_AD_MFT_DATA to bci_ad_put()

This patch extends the bci_ad_put() helper function adding a new AD type
for manufacturer specific data.

Usage example:
    written = bci_ad_put(buffer,
		    BCI_AD_NAME_COMPLETE, name,
		    BCI_AD_MFT_DATA, mft, size,
		    BCI_AD_TX_POWER, tx,
		    BCI_AD_INVALID);
bci: Add BCI_AD_MFT_DATA to bci_ad_get()

This patch extends the bci_ad_get() helper function adding a
new AD type for manufacturer specific data.

Usage example:
ret = bci_ad_get(buffer, sizeof(buffer),
		BCI_AD_NAME_COMPLETE, name,
		BCI_AD_MFT_DATA, mft, &size,
		BCI_AD_TX_POWER, &tx,
		BCI_AD_INVALID);
bci: Return false preventing invalid memory access

This patch fixes the helper function bci_ad_get(), returning false when
invalid memory access is detected due malformed AD data.
bci: Fix minor coding style issue
examples/bci-broadcaster: Use bci_ad_put() to assemble data
examples: Add bci-ibeacon example
nrf51822: Add README