Asynchronous I/O instead of threaded I/O

Replaces multithreaded issues and warnings with Vala asynchronous IOChannel APIs.  This also abstracts file I/O and pipe I/O allowing for a more flexible I/O sub-system, and another option for integration that doesn't require Rygel modifications.

No detected DLNA CTT or LPTT regressions.  Solves several outstanding issues with the current file I/O.