Began to bring up Nano on Linux

	Added in a timer implementation however this needs to be moved to execute the functors on the main
	thread to match mac/win

	Added in an implementation using the XDG spec for user dirs.

	Added in a preferences implementation using NXMLEncoder and NDictionary. This needs
	a location to put the file e.g. Company/Program, I gather windows needs this also.

	Added in some missing includes to unistd.h

NanoTest

	Fixed a bug where if the timer does not work then it will loop forever, so added in a shorter
	timeout before the test will fail.