Symplectic Geometry I: Foundations