Application of Homogenization Theory to the Flow Over and Through Micro-Structured, Porous and Elastic Surfaces