der: fix nonegative integers with 80 bit set

Nonegative integers can have highest bit (0x80) which
makes them interpreted as negative numbers.

When encoding such integers, prepend 00 byte before first byte
to force positive number detection.
Fix default values encoding for der

DER encoder should not include values that are equual to defaults.

Ref http://luca.ntop.org/Teaching/Appunti/asn1.html:

    DER encoding. Constructed. Contents octets are the same as the BER
    encoding, except that if the value of a component with the DEFAULT
    qualifier is the default value, the encoding of that component is not
    included in the contents octets.