A general code cleanup and merge with apache

	Clean up pom Reformat Break out versions into properties reorganize to read easier
	Reformatted code
	Added tests