Mesh being deformed in a weird way by armature
You have too much influence on the other side of the joint.  If you remove some or all of the bone weight on the vertices opposite of the joint, you should see this particular issue mitigated.  

However, joints that bend over 90 degrees or have complex movement are difficult to rig in general.  You can mitigate this some with topology that takes the movement into account, see this polycount wiki for examples: http://wiki.polycount.com/wiki/Limb_Topology

Your character seems to be designed to be somewhat...noodly... so you might want to consider having an elbow bone to smooth the bend and preserve that style.