Render multi-line strings correctly and support empty lines in multi-line strings

This pull request adds empty line support for multi-line strings, which is allowed per YAML's literal strings spec. Also, it renders multi-line strings correctly. For example:

    node := yaml.Map{"a": yaml.Scalar("b\n\nc"), "d": yaml.Scalar("e")}
    config := yaml.Render(node)

is rendered as:

    a: |
      b
      
      c
    d: e

And parsing the string above will result in a node identical to the original. 

Please consider it with love.