Making sure vector compiles with gcc 4.6
Fix signed/unsigned mismatch for gcc < 4.8
More signed/unsigned mismatches
Making size_type public as some compilers are not happy about it being private
Adding missing #include
Fixing const correctness problem