1.Yes, but only with glEnable(GL_PRIMITIVES) called before the glBegin statement.
2. In the official specification, but also enhanced versions provided by the GLUT library.
3.Not in the official specification, but such functionality is provided by the GLUT library.
4.Yes