Allow decode to perform stricter INI parsing

The decode function now takes a secondary opts object to control wether
strict-decoding is enabled. By default, it is not.

default opts = {
    strict: false
}

If opts.strict === true, do not allow a single line without an
equal sign to mark that it has a value.

[group]
foo=bar
bad  ; causes exception
Create tests for strict and non-strict INI parsing

As the default behavior is for non-strict INI parsing, expect an Error
to be thrown only when {strict:true}.