Remove warning by removing by-name arguments with right-associative name.

"by-name parameters will be evaluated eagerly when called as a right-associative infix operator. For more details, see SI-1980"
add some scalaz datatype instances
Merge pull request #141 from xuwei-k/scalaz-instances

add some scalaz datatype instances
Update PrettyParamsSpec to use s2 macro
Convert PrettyParams to a case class

Update to monocle lenses for PrettyParams
Update PrettyParams format options

Update PrettyParams to take an indentation string and strings for
formatting options instead of functions. These formatting strings are
converted to functions with the correct indentation if they contain
newlines.
Add dropNullKeys pretty print option

If true object keys with null values will not be present in the output
Split comma into arrayComma and objectComma

Split pretty print commaLeft and commaRight options into array and
object specific versions
Add lrbracketsEmpty pretty print option

Determines the spacing to use between array brackets when the array is
empty