Split lwm2m_init in two APIs

Signed-off-by: David Navarro <david.navarro@intel.com>
LWM2M Security Object and LWM2M Server Object are no longer special.

Signed-off-by: David Navarro <david.navarro@intel.com>
Implement LWM2M Server Object in test client

Signed-off-by: David Navarro <david.navarro@intel.com>
Add lwm2m_tlv_[en|de]code_bool APIs.

Signed-off-by: David Navarro <david.navarro@intel.com>
Add a LWM2M Security Object to the test client.

Signed-off-by: David Navarro <david.navarro@intel.com>
Hide the security object from the DM interface.

Signed-off-by: David Navarro <david.navarro@intel.com>
Check that mandatory objects are provided.

Signed-off-by: David Navarro <david.navarro@intel.com>
LWM2M and Bootstrap server lists are initiated by reading the info in the LWM2M Security and Server Objects.

Signed-off-by: David Navarro <david.navarro@intel.com>
Rename lwm2m_set_objects to lwm2m_configure. Fix registration query which should use client info.

Signed-off-by: David Navarro <david.navarro@intel.com>
API Change: remove lwm2m_add_server().

For clients, all servers information are taken from the LWM2M Security and Server Objects. These objects are thus mandatory.
The lib initialization is plit in two functions:
- lwm2m_init() to create a context. Parameters are two callbacks in change of the network communication.
The first one opens a communication session with a server identified by its ID. It is the user application responsability to retrieve associated info from the Securty object it provided. The core has no need for these info.
- lwm2m_configure() for clients to specify client informations and provide objects.

lwm2m_register() starts by parsing the LWM2M Security and Server Objects to create the lwm2m_context_t::serverList and lwm2m_context_t::bootstrapServerList before registering.

Bootstrap Servers are now stored as lwm2m_server_t in the lwm2m_context_t::bootstrapServerList.

Signed-off-by: David Navarro <david.navarro@intel.com>
Merge branch 'master' into server-object-change
Merge pull request #11 from eclipse/server-object-change

Server object change
For clients, all servers information are taken from the LWM2M Security and Server Objects. These objects are thus mandatory.
The lib initialization is plit in two functions:

lwm2m_init() to create a context. Parameters are two callbacks in change of the network communication. The first one opens a communication session with a server identified by its ID. It is the user application responsability to retrieve associated info from the Securty object it provided. The core has no need for these info.
lwm2m_configure() for clients to specify client informations and provide objects.
lwm2m_register() starts by parsing the LWM2M Security and Server Objects to create the lwm2m_context_t::serverList and lwm2m_context_t::bootstrapServerList before registering.

Bootstrap Servers are now stored as lwm2m_server_t in the lwm2m_context_t::bootstrapServerList.