Issue 1432 Queue should not get full in case of pull bots, and content service refactoring

Pull bot checks the availability in the queue, and passes maxCount to content service while fetching. Content service ensures that no more than maxCount reports are generated in that call.

Further, pull bot ensures that only 1 pull call is running at one point of time. If further calls are generated while previous call is running, it is ignore

Content services refactoring to have common code in base class. 

More refactoring needed (to move lastReportDate to parent class). I suggest we take it as a separate ticket