Merge pull request #7 from soniah/df49b4fc0b10ed2cab253cecc8c3d86b72cec41d

prevent panics being passed
Stringer for SnmpVersion - make usage/debug easier
Merge pull request #8 from soniah/7094cc6d90580b526272fac2aa64f9ea636820b5

Stringer for SnmpVersion - make usage/debug easier
fixed data truncation problem
various fixes on gsnmp.go

* make Conn public, so can do deferred Close() from caller

* actually _return_ error on recover

* denote source of errors

* observe passed-in version

* NewGoSNMP() - port as a parameter, example.go too

* Get() - tidy, handle returned pdu nil
refactor - dangling branches, unmarshalGetResponse(), dead code
ToBigInt(), uint64ToBigInt()
parseUint(); detailed debugging; extraneous comments
strings passing; calc_length()
decodeValue(): calc_length, OctetString, OID, ipaddress
verax testing, doco
update license
README
README - port, timeout.

Manual merge of https://github.com/jroes/gosnmp patch-1
(was against alouca not soniah).
Thanks to jroes@jroes.net.
Multiple Oids. First release. Squashed commits:

commit d8c95e2087656700baf5cc9289e3bbd53414ecbe
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 22:32:16 2013 +1000

    README

commit 9f3e5875c1ee4778e34a3340d091d9ebecb5a109
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 22:26:09 2013 +1000

    fixed typo

commit cd89b3d9bc34aef4edf275bc7aabd5ea5a624901
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 22:25:54 2013 +1000

    order decode by BER byte order

commit e51ef284fb5a8e5d383dc2a3a72ff2f53e7e7c97
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 21:55:37 2013 +1000

    DefaultGoSNMP.Connect() - no target ip

commit 8ed946b1ee8d91c554f97012074463ac9f369cf7
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 21:39:55 2013 +1000

    new(bytes.Buffer) not bytes.NewBuffer()

commit 584e3abca65641f282528795c4500602b419549b
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 15:18:23 2013 +1000

    README

commit e81c41c8ae6a62d2e8ab9a8c38615228c71bc8f9
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 17:07:53 2013 +1000

    example.go

commit 77400a69f641cebf3b36f16be48742584e5b7dc8
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 17:19:58 2013 +1000

    reorder decls marshal.go - most used at top

commit 9a2315e927f89d95cc61d3ada5f4c1fd29c1740f
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 16:27:39 2013 +1000

    public interface - DefaultGoSNMP, Connect(), Get()

commit 80b02c3f504cbc9da5330a92a3f45d46aa58fa5c
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 16:26:58 2013 +1000

    more doco GoSNMP struct

commit e432197764bb0146d85cfd35149700c8b125dd26
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 14:33:28 2013 +1000

    packet_out, packet_in

commit 4692cf661136a8c361462342122c757c651ad732
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri Jun 7 12:11:07 2013 +1000

    large code reorganisation:
    * timeout as time.Duration
    * fix long lines
    * decode.go -> helper.go, packet.go -> marshal.go
    * move functions between files
    * organise marshal.go
    * move functions 2
    * calc_length -> parseLength, build_length -> marshalLength
    * reorder helper.go

commit 64501e9c0c254ed86f12b7e73ee632eb3b35770e
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Jun 6 15:41:57 2013 +1000

    ioutil.Discard for slog in tests

commit d1a205ea78971850b4c2bb8f7933a0e2771caed0
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Jun 6 15:01:15 2013 +1000

    marshalMsg() + tests

commit 307f3219263f6442cab30e7fce9eaf9857942bd2
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Jun 6 14:11:45 2013 +1000

    check_byte_equality()

commit 3dce14c0592c1f23e1918bc04fe9e0f1a9cba2f0
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Jun 6 13:57:10 2013 +1000

    refactor: vb_pos_oids() for tests

commit d2017fba35590b8a3d8ac3cbd378c72239e00a9c
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Jun 6 12:33:39 2013 +1000

    marshalPDU() + tests

commit 4a206d94312b0d79f054de4e41183c9251525c1f
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Jun 6 10:27:57 2013 +1000

    marshal() - wip

commit 8a5f50443dfa948e5c1861998ed7db6909d06cba
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 17:33:08 2013 +1000

    marshalVBL() + tests

commit b8123597c8a8d1e18416423a2d242d3ea7fdb68b
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 17:18:52 2013 +1000

    build_length() + tests

commit 9c8cc262771fd92c98f662f4b487f460978bed5a
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 15:00:05 2013 +1000

    testsEnmarshalVarbindPosition ie marshalVarbind() passing

commit 304f92d9a7acbbe2285a0cc4c812a8eac3a5ff61
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 15:00:16 2013 +1000

    marshalPDU -> marshalVarbind

commit 81578e440251b21f0c4aae522eb3681d85775b98
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 12:48:20 2013 +1000

    TestEnmarshal()

commit a2d9c0d63052e9196c50da8674285af1a4b05b7e
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 11:51:27 2013 +1000

    marshal() - include oids, requestid - testing

commit 5e024fa11593ba2fbf2d4269a89c7acb3eedc604
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 10:53:09 2013 +1000

    kyocera_request_bytes()

commit b42f5deb02fc6a29871bd31cb33a08e4f8729b47
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 09:22:15 2013 +1000

    rename to *_response_bytes

commit b68dfd23cd5bd47a7e8d11be8d20a35a607016a5
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Jun 5 08:57:57 2013 +1000

    rename, consolidate test files

commit 841cde9248da9e4782dbf43edfe22b09241ebac4
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Tue Jun 4 13:31:08 2013 +1000

    various debugging tweaks

commit 284dae89797f7777d7aae41478391086729fa8de
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Mon Jun 3 12:14:07 2013 +1000

    profiling

commit 4898cbe797eb0d87e7c471d167051ef29563137f
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Mon Jun 3 10:06:04 2013 +1000

    coverage:
    * remove redundant SetTimeout()
    * SnmpVersion.String()

commit c0f1209def811d0c82f7b66493e5d5732d7fa689
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Mon Jun 3 09:45:14 2013 +1000

    remove alouca/gologger

commit 9b7fa82963842aceece598ac161b10ecf0f28a6b
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 17:45:25 2013 +1000

    README - test coverage

commit 122e686dc8cef61eeaeaed3e390dd6821db7177e
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 16:53:28 2013 +1000

    PARTITION_SIZE & OID_COUNT - speed up tests

commit 2acaec522f494b2fb238144a846b935c921415a4
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 16:37:10 2013 +1000

    no leading dots on oids; Get(2 oids) passing

commit 8601b484dbe501aef5809a093aceaa3f9e430368
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 15:53:59 2013 +1000

    Get(oids) - tests

commit 4b7626436da28c6580c38ef47aa2a0f82dc0ea5b
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 15:50:24 2013 +1000

    MAX_OIDS, Get(oids)

commit ca98c40792c8aed02b04212f68f01568e669b87f
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 11:49:24 2013 +1000

    add Partition(), tests

commit 04eb7e8450a7ef594fcd57655f4958064b0d769c
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Fri May 31 10:15:00 2013 +1000

    handle null octet strings, tidy debugging

commit a19e96a84add2fe6c96e0018b3e091945be5f0a4
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 15:48:54 2013 +1000

    readme - prep for release

commit 7d37844fed15d87d4296a59c913064e1f3461911
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 15:34:39 2013 +1000

    cleanup Verax. Readme - bugs

commit 9c395bddcea8555c07c64cfab92fe2a717c6a10f
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 14:45:39 2013 +1000

    remove requestid param

commit d96d42fec35c022f53c00ab862c3ed6dde8a7508
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 14:37:36 2013 +1000

    remove example.go, debug() fn

commit aecd948a404c2b3053781d151eeac2e2af550c30
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 14:19:12 2013 +1000

    tidy

commit e94b8929b14f9453291d4ed405a05c8cb78eb38d
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 12:06:45 2013 +1000

    finish cisco_bytes()

commit be98f7132243445b378554a6d041b2e4867db072
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 11:49:32 2013 +1000

    handle NoSuchInstance & NoSuchObject

commit 68ac41f8bcbdcaf7b02844db890114cc430c0b27
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu May 30 11:40:51 2013 +1000

    add cisco_bytes(), tidy kyocera_bytes()

commit b98852fd52c5f408dea24b0f44850b55bd66ae85
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Thu Mar 21 17:18:35 2013 +1100

    kyocera_bytes working

commit 3ead346324f76e056fa71ffedb9011794aea6e6a
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Mar 27 15:36:56 2013 +1100

    move out-of-order parseUint16

commit eab3f499a50dc705a8e28476445bc662e257575b
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed Mar 27 15:29:17 2013 +1100

    consolidate helper.go into decode.go

commit 311e233e572da0030679af6450a4a356b2de7ca8
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Sat Mar 23 09:33:12 2013 +1100

    cleanup: Walk, Streamwalk, old printf

commit 32b3ab28d29e97ccae59e08c46b4f50ebc4aa061
Author: Sonia Hamilton <sonia@snowfrog.net>
Date:   Wed May 29 21:26:02 2013 +1000

    readme to .mkd - vim
Default, not DefaultGoSNMP; README corrections
example2.go - no gosnmp.Default; tidy example.go
README
added packet dumps for response and request for getnext
added unmarshal test for getnext response bytes
added packet dumps for getbulk request and response
added unmarshal test for getbulk response bytes