adevice sync working

Added myself as OWNER (and hadrien, even though hadrien is an owner in the parent dir)

New code to support generating and running adb command to update the
device to match the build tree.

Deletes intentionally not supported yet.

Console UX still needs a lot of work.
Crosscut logging not implemented yet.

I added some unit testing to check that errors are propagated as
expected, but this still needs integration tests to automate
testing error conditions.
(I did some error checking by hand with a disconnected device and with
invalid adb flags)

Test: atest
\# make some changes
Test: for x in $(seq 8) ; do echo $(date +%s) >> $ANDROID_PRODUCT_OUT/system/file"$x";done ; adevice sync
\# empty sync
Test: adevice sync
\# Too many files to sync
Test: for x in $(seq 8) ; do echo $(date +%s) >> $ANDROID_PRODUCT_OUT/system/file"$x";done ; adevice sync --max-allowed-changes 5
i.e.

```
   Actions: 8 files.
   Error: Your device needs 8 changes which more than the suggested amount of 5. Consider reflashing instead.
```

Change-Id: I764808291d1ccdcfee9a00a4e58780a13d6d9f4d
4 files changed