build: Modify Makefile to allow configure the build

This patch allows the user to configure the build through make command
line. For example:

	$ make CONFIG1=value1 CONFIG2=value2

This defines CONFIG1 and CONFIG2 in all source files with the specified
values.

This is a temporary solution until a better build system is deployed.
nrf51822/log: Add missing newline at ending of file
nrf51822/log: Move code around to enhance legibility
log: Remove unnecessary do-while loop
log: Add CONFIG_LOG_ENABLE configuration

This patch adds the CONFIG_LOG_ENABLE configuration. Its default value
is active. To deactivate LOG messages, build the library with
CONFIG_LOG_ENABLE=0:

	$ make CONFIG_LOG_ENABLE=0
ll: Remove newline between function call and error check
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 maximum length definition to bci.h
bdaddr: Move bdaddr_t definition to bdaddr.h
stack: Split adv_type_t into bci_adv_t and ll_pdu_t types

Now the LL layer only knows about advertising PDUs and the BCI layer is
responsible to make the translation between the types.
stack: Remove ble-common.h header
assert: Add header containing a static assert macro
bci: Prefix ENABLE and DISABLE definitions with BCI
bci: Assert statically BCI/LL common symbols
bci: Remove non-significant advertising data part from in-air packet

Generic Access Profile specification section 11, Core 4.1 page 2023:
"Only the significant part of the Advertising or Scan Response data
needs to be sent over the air."
radio: Posfix radio_handler type with cb