gpio: doc: documented all GPIO API functions

Documented these functions:

	* gpio_chip_init
	* gpio_pin_init
	* gpio_chip_to_pin
	* gpio_pin_request
	* gpio_direction_input
	* gpio_direction_output
	* raw_gpio_direction_ouput
	* raw_gpio_pin_write
	* gpio_pin_write
	* gpio_pin_read
	* gpio_get_direction
	* raw_gpio_read_pin

Signed-off-by: Michel Megens <dev@michelmegens.net>
gpio: core: implemented gpio_pin_release.

gpio_pin_release can be used to release a pin using gpio_pin_request.
All pins have to be requested to make sure two threads aren't accessing
them at the same time. Once you are done doing your GPIO, you should
release the pin again using gpio_pin_release.

Signed-off-by: Michel Megens <dev@michelmegens.net>
sched: core: removed the some usages of current.

current(rq) is an internal definition to quickly get the currently
running thread on a run queue in the scheduling core. It was however
being used when there was already a local var initialised to the current
thread. Therefore, the uses of `current' have been removed where using
the reference variable is sufficient.

sched: rr: doc: Fixed a doc error on the sys_sched_class.

The system sched class of the round robin scheduling did also show up in
the generic sched::core documentation.

gpio: doc: added documentation to the gpio header.

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