At -2.5V in, the voltage at pin 3 should indeed be 0V, at +2.5V in, it will be 2.5 + (2.5/3) = 3.3V in. As the op amp is a follower, I would expect the same out. The circuit is doing what it should. You could use a rail to rail opamp, but note that you cannot get the input to +5V with this method of level shifting. 

Also note with your circuit that you try to bring the input very close to 0V. Due to resistor tolerances, you might well be clipping the input slightly. Whether this is a problem depends really on the application.

Your circuit is non-inverting, input and output have the same phase.

If you really want to get the largest swing, another way might be to generate an artificial mid-rail and sum the input with a DC offset. Schema below:

<!-- Begin schematic: In order to preserve an editable schematic, please
     don't edit this section directly.
     Click the "edit" link below the image in the preview instead. -->

![schematic](https://i.sstatic.net/2D17l.png)

<!-- End schematic -->

The circuit is now inverting, and has lower input impedance. However you are still DC coupled, and you use the full voltage. You can use any opamp that gives rail to rail swing at 5V. You also have a bit more possibility to adjust gain, using the feedback resistor. C1/R2 are sized to provide a stable mid rail at 1Hz.