It doesn't sound like you really love guy #1. He abuses you and you need to get away from him. Now. You have a child with him, but that doesn't mean that you HAVE to stay with him.
Also, you have cheated on him repeatedly you said, which is never a good thing for a relationship.
Guy #2 sounds good, but you really can't tell until you are away from guy #1 for a while. Don't let a relationship with guy #2 start until you are free and clear of guy #1. It is only fair to him.
Good luck.
Brought to you by Dating With Devon!