Reroll 1 on first roll makes 1dX become:
1/X chance of 1dX (average (X+1)/2 = X/2 + 0.5)
(X-1)/X chance of 1d(X-1)+1; average 1 + (X)/2 = X/2 + 0.5 + 0.5
So you get X/2+0.5 + 1/2 (X-2)/(X)
For 1d6 this is +0.33
For 1d8 this is +0.38
For 1d10 this is +0.4
For 1d12 this is +0.42
Reroll 1 always adds +1/2 to the average.
Reroll 1 or 2 on first roll makes 1dX become:
2/X chance of 1dX (average (X+1)/2 = X/2 + 0.5)
(X-2)/X chance of 1d(X-2)+2. (average 2 + (X-1)/2 = X/2+0.5+1
So you get X/2+0.5 + (X-2)/X
For 1d6 this is +0.67
For 1d8 this is +0.75
For 1d10 this is +0.8
For 1d12 this is +0.83
Reroll 1 always and reroll 2 on first roll is 1+1d(X-1) with reroll 1 on first roll.
Which is (X-1)/2 + 0.5 + 1/2 (X-3)/(X-1) + 1
= X/2 + 0.5 + 0.5 + 1/2 (X-3)/(X-1)
For a d6 this is +0.8.
For a d8 this is +0.85
For a d10 this is +0.89
For a d12 this is +0.91
Reroll 1s and 2s always adds +1 to your average in every case (it is 2+1d(X-2)).
---
The alternate-system where Con bonus gives you rerolls might work like this.
A bonus of +X con means you always reroll HD rolls of X or below. If your bonus exceeds the die size, just use max.
A penalty of -1 means you reroll max HD rolls; each additional penalty means you also reroll the next highest roll. Never reroll 1s.
In this system, a +1/-1 con is worth 1/2 of a HP/level, about half the impact it has normally. It doesn't work with non-rolling HP however.
If you mix it with the "reroll all of your HD" I think it becomes a bit fun. I'd do the "if your con bonus changes, you gain or lose (level * con bonus change)/2 immediately for the corner case, which works unless you have a con of +6 on a d6 HD.