Clustering + Minor Utils

Adds ClusteringTools.java:
-contains functionality to take a array of Video and noOfCluster
as input and return a ArrayList of ArrayList of Videos
ie ArrayList<ArrayList<Video>>

The outer ArrayList represents the requested clusters.
The clusters can be performed either by K-Means (which tries to keep
the size of all videos in cluster nearly same) or by basic partitioning
that tries to keep the size of entire cluster roughly the same.

Adds CommonUtils.java:
-Just basic common utils to print delimiters, etc

Adds GenerateVideos.java:
Just a basic class with a main method that when run generates a new
videos.txt file populated with 100 videos with random sizes ranging
from 400 to 600.

Makes provisions in MainServer class to use and test the above
functionalities.