Real and abstract analysis : a modern treatment of the theory of functions of a real variable