sched: core: ipm: added ipm_reset_queue

ipm_reset_queue:
	The function resets the write/read indexes of the queue. This
	function will only work succesfully if there are no threads waiting
	for a message on the IPM queue head.

schedtest:
	Added a test for IPM messages.

ipm message:
	Changed the type of the data pointer to `const void *'.

Signed-off-by: Michel Megens <dev@michelmegens.net>
sched: core: ipm: added queue length check

ipm_queue_is_full:
	This function is used before posting a new message. If the queue
	turns out to be full, the message will not be posted. A queue
	can be emptied by using ipm_reset_queue.

docs:
	Added doxygen documentation to IPM subsystem.

Signed-off-by: Michel Megens <dev@michelmegens.net>