libc: string: added a string maniplation module.

lib/string contains the '<string.h>' part of libc. These functions are
all, in some way, relevant to C style strings (char *). The functions
implemented in v1 are:

	* strcmp (compare 2 strings)
	* strchr (find first occurance of a character)
	* strlen (find the length of a string)
	* strnlen (see if a string is longer than a given amount)

The return value of strnlen is the value of strlen if the string is NOT
longer than the given amount, if it is the given length is returned.

Signed-off-by: Michel Megens <dev@michelmegens.net>
make: mrproper: added generated include dirs.

Added the directories include/config and include/generated to the
mrproper target for removal. Invoking `make mrpoper' will now also first
do a regular clean before removing all extra 'mrproper files'.

Signed-off-by: Michel Megens <dev@michelmegens.net>
list: added loop defintions to the list API.

Added the following loop definitions:

list_for_each:
	Loop through the linked list, forwards.

list_for_each_prev:
	Loop through the linked list, backwards.

list_for_each_safe:
	Loop through the linked list safely (i.e. it is safe to delete
	the 'current'/'carriage' node while looping).

list_for_each_prev_safe:
	Loop through the linked list safely (i.e. it is safe to delete
	the 'current'/'carriage' node while looping). Loops backwards
	through the list.

Signed-off-by: Michel Megens <dev@michelmegens.net>
Merge branch 'master' into dev-core

* List loop defintions
* libc string functions
* better mrproper make directive

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

Conflicts:
	.gitignore
dev: core: implemented dev_get_by_name

Added an implementation to dev_get_by_name. This function uses strcmp to
search for a device with a given name. Please note that the device has
to be registrated (i.e. created) by device_create or pdev_add.

Signed-off-by: Michel Megens <dev@michelmegens.net>
dev: core: renamed pdev_add to dev_register_pdev

To registrate (and create a struct device) a platform device, you
previously had to use the function pdev_add. From now on this function
is called dev_register_pdev. The functionality remains the same.

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