remove the force reconfiguration feature

Is not used.
move device related functions into device module

Add a "copy" function.
Move the "needs_reconfiguration" function.
sort requirements
don't trigger reconfiguration on IP changes

In NAT environment and with the default config, this trigger quite
a few useless reconfiguration.

Plus, there is no use to it.
remove some noisy debug log
update comments
maintain the remote SIP state of devices
add get_remote_state_trigger_filename method
remove some non-working code
add SIP synchronize by peer
drop the old synchronize behaviour

In fact, it should not be needed.
add optional event argument to standard_sip_synchronize
add a global NAT option

When the option is set, it's possible to have more than 1 device with
the same IP address.

More precisely, when a HTTP/TFTP request is processed by the provisining
server, the server won't clear all the 'ip' key of all the other devices
with the same IP address.

This also means the xivo-provd process is more efficient when the NAT
option is activated because it skips the "find and update all the
devices with that IP address" step, which is something that happens often
when lots of device are behind a NAT, especially if they are rebooted
all at the same time.
Merge branch '4974-sync-behind-nat'