Add basic multi-image support

This makes `image list` and `image upload` compatible with MCUBoot's
serial_boot when working in a multi-image setting.

The image state CBOR packet and image upload were both update to carry
an extra field called "image" whose number indicates which image set is
being handled. If absent, image 0 is used for compatibility.

The upload command got and extra parameter `-n` (or `--image`) to set
which image is being sent, eg, `newtmgr image -n1 upload <fw.img>`.

The image list command now prints "image=X slot=Y", eg:

```
Images:
 image=0 slot=0
    version: 1.7.0.0
    bootable: false
    flags:
    hash: Unavailable
 image=0 slot=1
    version: 1.4.0.0
    bootable: false
    flags:
    hash: Unavailable
 image=1 slot=0
    version: 1.8.0.0
    bootable: false
    flags:
    hash: Unavailable
Split status: N/A (0)
```
3 files changed
tree: d0c60b76fd47efe9f2d851c079bed900bb423e9e
  1. docs/
  2. newtmgr/
  3. nmxact/
  4. .gitignore
  5. .rat-excludes
  6. go.mod
  7. go.sum
  8. LICENSE
  9. Makefile
  10. NOTICE
  11. README.md
  12. RELEASE_NOTES.md
README.md

Newtmgr

Newt Manager (newtmgr) is the application tool that enables a user to communicate with and manage remote devices running the Mynewt OS. It uses a connection profile to establish a connection with a device and sends command requests to the device. The newtmgr tool documentation can be found under /docs which are published at http://mynewt.apache.org/latest/os/modules/devmgmt/newtmgr.html

Building

Build the newtmgr tool as follows:

  1. Unpack newtmgr source.
  2. Rename resulting apache-mynewt-newtmgr-1.3.0 directory to $GOPATH/src/mynewt.apache.org/newtmgr
  3. cd $GOPATH/src/mynewt.apache.org/newtmgr/newtmgr
  4. GO111MODULE=on go build