New syntax, support for recursive mappings, several fixes

This was a long time coming =) This PR includes new syntax, support for recursive mappings, partial support and documentation for Swift, as well as fixes for #57, #68 and #55.

I wanted to add full support for Swift for 1.0, but it seems we are not there yet. How about releasing 0.7.0 version with this stuff?

@lucasmedeirosleite If you are ok with this, i'll merge and release.