In such constructions as
It's time you...
It's about time you...
It's high time you...
? It's past time you...
You use the subjunctive.
In this construction, the past subjunctive is used much more often, thus went to bed.
However, the present subjunctive is also possible: go to bed.
The difference? Hard to explain, but the present subjunctive comes across as less polite, more direct, or rude.
The haircut example works the same way.
EDIT: to show this is the subjunctive mood, consider the present subjunctive of to be, which is be.
It's high time you went to bed.
It's high time you be in bed.
*It's high time you are in bed.