==== Mason ====
	Mason was created out of need for a cross-platform solution to file 
	synchronization that is easy to setup and use. It may not provide
	some of the more advanced abilities of other file synchronization
	tools but it will provide enough functionality to get the job done.

	The mason JAR can be run in one of two modes which are client and server. 

	== Order Of Operations and Operations ==
	There are two operations that can be performed which are --push and --pull.
	These operations can also be modified with --prompt and --pretend. The prompt
	produces the same output as --pretend except it stops and prompts if you
	wish to continue, while pretend does not prompt or preform the operation
	and simply exits.

	An atomic operation happens all at once and therefore there is no chance
	for a second user to modify the remote during the operation.

	The order of operations on the command line are respected by the client
	parser and therefore using --push --pull would cause a push to happen
	then a pull. Also arguments are considered part of the nearest operation
	to the left such that --push --prompt --pull would cause a prompted push
	then immediantly a pull operation.

	Each operation can be followed by zero or more modifiers such as:
	--nodelete --noupdate --nonew

	=== Client ===
	This will detail the different ways you might use Mason.

		== Single User ==
		In a single user situation only one user will be performing syncs with
		the remote server. In this situation you are only going to be performing
		two types of operations.

		The first operation is a push:
		-jar mason.jar --push

		This will update all modified files, upload any new files, and delete any
		files on the remote side that do not exist locally. 

		The second operation is going to be a pull operation.
		-jar mason.jar --pull 

		The pull is useful when you may wish to create a copy of the remote server
		on another computer or even to restore on the original client computer.

		== Multi User ==
		In a multi user environment you may have changes made on the remote by 
		another user besides yourself so special care has to be taken in order
		to operate without losing data. The general scheme is as follows:

		-jar mason.jar --pull --nodelete --prompt --push --prompt

		This will print out what files will be updated and what new files will
		be fetched from the server. The --nodelete keeps local files from being
		deleted which do not exist on the server. These files may be ones that
		you are currently working on and do not wish to update. It will also
		display what new files will be pushed to the remote.