(Woman's point of view)
Best way of dealing with your problem, coming from a woman that was lied so many times, cheated on and many other things, might be:
Dear ..., since we are moving in together and since I never was more
certain that I want to wake up next to you every single day of my life, I
have a confession to make. Remember when I told you about my previous
relationships, well, at that time, I didn't intended to lie to you,
but felt like telling you less than it really happened. I know this
talk is out of the blue, but if I m not going to tell you the whole
true, it might eat me alive. ....
Remember to start and to end the conversation telling her how much she means to you, and highlight the fact that you love her so much that you could not continue keeping stuffs like that from her. And that from now on, although she wasn't your first, she will be your last and that is way more important than being the first.
For a woman the first means the world, for a man, the last means the world so make that clear for her too in case she forget due to the mass of information that hit her! (she might not be your last, but at this very point she is, so make her realize that too).
What I learned from all my relationship is that if you learn to dress nicely and sweetly any kind of information, it can be delivered and understood more easily that saying it all directly. It might sound cliche but I would give my everything if in any of my past relationship, my lover would tell me the truth, instead finding it out on my own or in an verbal aggressive way.
Like the others commented, try and choose a moment when you are both relaxed. And also be prepared for a "little fight" or for her asking for more details. And try not to fall in her trap and answer nicely to anything she asks but with dignity. Since is your past, you don't have to be ashamed of it, but embrace it and show her through words that all of those are in the past and are called "failed relationships". And since you decided to open to her with your everything this means only one thing: that you love her so much and coming clean even after such a long time means you are ready for a bigger step (like moving together, not really marriage if you don't feel like being there yet, make it clear).
But remember one single thing : is you past, it doesn't define you, but is part of you. If she can't accept, she might not be the one. Because if she truly loves you with all her heart, this conversation will go on smoothly and even end up in a romantic way. If she is the one she will pick only the part where you really wanted to come clean in front of her for a better tomorrow. Even if she will end up being a little upset, comfort her and assure her, she won't end like the others.
I know it is really hard consider you already have 3 years, but keep in mind that usually what goes easy, ends, and the hard things to get, lasts forever!
Update: I understand that you already moved in for 3 months, yet turn the conversation into "being a huge fuse for yourself that you moved in with her". Maybe that's the reason that you are ate up from inside because of you past. Moving in comes with responsibilities and you have to point that out.
You don't have to act it, since already will be difficult for you to say it, but show her how excited you are and that what you are about to say or said is a big step/thing for you.
They were only white lies to you, lies that you didn't feel like sharing them due to a lot of reasons (reasons you can't remember), but lies that you are ready to speak them out, now, thanks to her.
Last update: If she asks you "why did you hide the fact that you slept with x", tell her that you did that because you felt like being the right choice at that moment (and that you can't remember exactly what you were actually thinking), but blamed yourself from hiding her this for so long. And you finally come to your senses and realized how much your lover means and that you can no longer keep secrets from her.
Best luck!