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.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	Library/Source/Nano/Internal/Targets/Linux/NLinuxSystem.cpp
	Library/Source/Nano/Internal/Targets/Linux/NLinuxThread.cpp
More Linux updates for nano

Implemented JSON based plist preferences

Implemented unmounting

First implementation of timers - however the ability to main thread loop still needs to be implemented
Merge remote-tracking branch 'upstream/master'
Began a socket implementation for Linux and also fixed a missing link in the makefile.
Began ImageDecode and ImageEncode implemenation for Linux
Image encoding/decoding implementation for Linux.

Currently unable to test as internal libz conflicts with system libpng, so possibly need to bring
this in.
Merge pull request #1 from x414e54/master

Merged additional Linux implementation - thanks!