Merge remote-tracking branch 'weave/master' into merge-aosp-master

This merge includes the following commits:

52d006a Support GCC 4.7
7125e8b Enable big-endian build
6f7385f Add gomacc.lock and make files generated by gyp into .gitignore
9e9aca9 Remove dependency on ninja-build
9e78026 Add big-endian defines into base/build/build_config.h
42b0a7b Make sure example command definitions include 'minimalRole'
42d63b9 Fix example command schema to match the expectations of the server
8a05beb Remove object schema type system
c430560 Replace Get* methods returning unique_ptr with reference alternative
3bfb13d Fix GCC 4.7 errors
f21c83a Change XMPP notification tag from 'clouddevices' to 'weave'
2c7740a Remove CommandDefinition class
41429d8 commands: fix unused-function warning
8fb4e62 Added clang-format config
f08caeb Extract privet::AuthManager from privet::SecurityManager
3c2b303 Add fake component/trait property to device draft
b0efd87 Fixed grammar error
88f55d8 Add "component" property to command instance
739e357 Make Split() function work consistently with empty strings
44c1dbe Add ComponentManager class to handle device traits/components
05a979e Update light command definitions
6869ed7 Change StateChangeQueue::NotifyPropertiesUpdated to take const ref
7b588fc Add support for state updates on ComponentManager
88e9d12 Move deprecated APIs on Device object to the end of the interface
e79fa91 Add new component-based APIs to Device interface
a3c5e6d Route commands without path to suitable component
ba98115 Convert ComponentManager into an interface and create a mock
b736c98 Make CommandManager::AddCommand() usable for both cloud and local cases
6b394d1 Add support for legacy state/commandDefs to ComponentManager
d91d625 Switch to use ComponentManager for traits/components
894b6b4 commands: delete obsolete include
321dae6 Allow change of model manifest id
29a11ca Replace IsEqualJson gtest predicate with EXPECT_JSON_EQ
551a82b Add support of Components/Traits to local privet APIs
f969132 Use uint64_t for fingerprints to prevent easy overflows
e3cc230 Move checkForUpdates tests into their own section
78d4f6d Move local device_id into public settings section
6a9d0e2 Fixed name of constant in unit test
a580328 Add config flag to mark that local auth info was changed
1a10871 Remove output error parameter from BuildDeviceResource
7717d93 Support HTTP responses with no body
d6db049 Update example daemons to use the new component/trait APIs
45dc9df Add macaroone implementation from https://weave.googlesource.com/weave/libuweave
47fe6f8 Add macaroone implementation into libweave build
972282c Fix compile error on Brillo
f1fa8be Move build_config.h from chromium/base/build to chromium/base
2033433 Fix a crash when adding a default command handler

Change-Id: Ic0b50041ba7852581a86e5af9118cfffd9cca302