boot-time-blob: exporting boot info to blob

This CL exports boot info via ipmi blob to external.
Including the checkpoint, durations and statistic infomation.
The format is proto 3.

Tested:
\# Read `/btm/host/0` blob from host and ensure the data can be encoded
correctly.
\# Blob raw data (proto 3 format)
```
00000000  12 19 0a 0b 52 65 62 6f  6f 74 53 74 61 72 74 10  |....RebootStart.|
00000010  80 e9 ef b0 ab 31 18 be  bc ab 26 12 16 0a 08 53  |.....1....&....S|
00000020  68 75 74 64 6f 77 6e 10  dc 92 bf b7 ab 31 18 c4  |hutdown......1..|
00000030  c4 ab 26 12 1c 0a 0e 4b  65 72 6e 65 6c 53 68 75  |..&....KernelShu|
00000040  74 64 6f 77 6e 10 c5 a2  bf b7 ab 31 18 a8 d4 ab  |tdown......1....|
00000050  26 12 10 0a 02 53 35 10  d9 a2 bf b7 ab 31 18 bc  |&....S5......1..|
00000060  d4 ab 26 12 10 0a 02 53  30 10 b6 ba bf b7 ab 31  |..&....S0......1|
00000070  18 9c ec ab 26 12 19 0a  0b 54 6f 5f 46 69 72 6d  |....&....To_Firm|
00000080  77 61 72 65 10 d2 c2 bf  b7 ab 31 18 b6 f4 ab 26  |ware......1....&|
00000090  12 16 0a 08 46 69 72 6d  77 61 72 65 10 f2 e1 bf  |....Firmware....|
000000a0  b7 ab 31 18 d6 93 ac 26  12 17 0a 09 54 6f 5f 4c  |..1....&....To_L|
000000b0  6f 61 64 65 72 10 c5 f9  bf b7 ab 31 18 ac ab ac  |oader......1....|
000000c0  26 12 14 0a 06 4c 6f 61  64 65 72 10 fd 90 c0 b7  |&....Loader.....|
000000d0  ab 31 18 e4 c2 ac 26 12  17 0a 09 54 6f 5f 4b 65  |.1....&....To_Ke|
000000e0  72 6e 65 6c 10 b0 b8 c0  b7 ab 31 18 94 ea ac 26  |rnel......1....&|
000000f0  12 14 0a 06 4b 65 72 6e  65 6c 10 80 c8 c0 b7 ab  |....Kernel......|
00000100  31 18 e4 f9 ac 26 12 17  0a 09 54 6f 5f 49 6e 69  |1....&....To_Ini|
00000110  74 72 64 10 f8 fe c0 b7  ab 31 18 da b0 ad 26 12  |trd......1....&.|
00000120  14 0a 06 49 6e 69 74 72  64 10 e0 86 c1 b7 ab 31  |...Initrd......1|
00000130  18 c2 b8 ad 26 12 1a 0a  0c 54 6f 5f 55 73 65 72  |....&....To_User|
00000140  73 70 61 63 65 10 80 e3  f1 b0 ab 31 18 e0 b8 ad  |space......1....|
00000150  26 12 17 0a 09 55 73 65  72 73 70 61 63 65 10 c8  |&....Userspace..|
00000160  c8 f2 b0 ab 31 18 a8 9e  ae 26 1a 08 0a 04 55 45  |....1....&....UE|
00000170  46 49 10 64 1a 0d 0a 08  4e 45 52 46 44 68 63 70  |FI.d....NERFDhcp|
00000180  10 c8 01 1a 10 0a 0b 4e  45 52 46 4e 65 74 62 6f  |.......NERFNetbo|
00000190  6f 74 10 ac 02 1a 11 0a  0c 4e 45 52 46 53 6d 61  |ot.......NERFSma|
000001a0  72 74 4e 49 43 10 90 03  1a 0c 0a 07 55 45 46 49  |rtNIC.......UEFI|
000001b0  53 65 63 10 f4 03 1a 0c  0a 07 55 45 46 49 50 65  |Sec.......UEFIPe|
000001c0  69 10 d8 04 1a 0c 0a 07  55 45 46 49 44 78 65 10  |i.......UEFIDxe.|
000001d0  bc 05 1a 10 0a 0b 42 4d  43 53 68 75 74 64 6f 77  |......BMCShutdow|
000001e0  6e 10 a0 06 1a 0e 0a 09  46 6c 61 73 68 42 49 4f  |n.......FlashBIO|
000001f0  53 10 84 07                                       |S...|
```

Change-Id: Ifb0e381d517c147ca6d086c033b4a5d918dc391b
Signed-off-by: Michael Shen <gpgpgp@google.com>
7 files changed