Homological Methods in Banach Space Theory