you don't need that shit on your plate right now - you seem like a decent person and any decent person deserves another decent person - don't settle for less. i know it's hard - i've been there. but sometimes things are hard in life. give him some space to realize what an awesome catch you are and maybe he will settle down some - if not then he's not right for you. it's better to know sooner rather than later. take care of yourself first, then other people.
you're still young...I know it's incredibly cliche' but you will find the right person.
I went through the same thing a million times.
even my fiance now was very mysteriously vague but would say things that made me hang on...but in his case I had a gut feeling we felt the same...
things will work out how they should...
*hugs*