Added first date of week and month functions
Use LongWritable in Rank UDF. Formatted FirstWeek and Month code
Added new UDFs. Reduce the footprint of Rank UDF by only creating a new object for the previousKey array if its NULL