Modified to confirm with a less-strict implementation of RFC 1055

The way this was coded, it expected all SLIP packets to start with END.
 I was getting framing errors with a SLIP implementation I'm working
with that doesn't begin its packets with END.

According to RFC 1055 that defines SLIP, it is not mandatory for
packets to start with END; it was only Phil Karn's suggestion they do
so.  Two back-to-back END packets are fine.

I've added a strict argument to slip_parser that defaults to true for
backwards compatibility.  If it's set to false, it turns off the
requirement for SLIP packets to start with the END character.

There should be no behavioral change for existing code with this
change; only code with strict set to false will see a change.
added strict flag from RocketSonicBoom. added tests for strict flag and strict generator option.