Theory of Thin Shells