restraintd server graceful exit on termination.

Exiting gracefully by stopping mainloop and properly cleaning up everything we
allocated. This should help find memleaks in future.
recipe_handler() proper cleanup in RECIPE_RUNNING state

Cleanup routines at the end of recipe_handler() function should still be called
in RECIPE_RUNNING state
freeing temp string in restraint_task_watchdog()

Temporary string seconds_char should be freed at the end of
restraint_task_watchdog()
fixed GHashTable leak in server_control_callback()

GHashTable *table which is received as return value of soup_form_decode should
be freed after use.
config.c error leak fix

Properly freeing temporary errors if they are not propagated.
Fixed string leak in message_complete()

soup_uri_to_string() returns char* which should be freed by the caller.
Fixed iochannel leak in process_run()

New iochannel is created in process_run() and never unreffed. Unreffing it in
process_io_finish() callback. iochannel is now a part of ProcessData struct.
Fixed string leak in server_recipe_callback()

soup_uri_to_string() returns char* which should be freed by the caller.
Freeing server_data in plugin_finish_callback()

server_data needs to be freed in plugin_finish_callback() otherwise
it is leaked in server_msg_complete().
Freeing task_run_data in task_finish_plugin_callback()

task_run_data needs to be freed in task_finish_plugin_callback() otherwise
it is leaked from task_run().
Added libsoup valgrind suppressions.

Added libsoup suppressions taken from
https://github.com/GNOME/libsoup/blob/master/tests/libsoup.supp to
valgrind.supp
Freeing task metadata on task free.

Properly cleaning up task metadata in restraint_task_free().
This commit also fixes premature free of metadata->name in parse_line().
Merge pull request #8 from sm00th/memleaks

restraintd memleak fixes