Spam-Filtering-techniques Employing various Machine Learning and Natural Language processing techniques for Spam filtering