service: User cannot modify immutable service

If the service is provisioned via .config file, then user is only
able to set the AutoConnect status of the service. All the other
settings must be set from the .config file.

Fixes BMC#25984
doc: Information about activating debugging in ConnMan
test-iptables: Move file to tools and rename it to iptables-unit

Unit tests are suppessed to be run during 'make distcheck' but
iptables-unit needs to be run with root rights.
test-session: Move file to tools and rename it to session-test

These tests depens on ConnMan running and therefore not really a
unit tests. Let's move it to tools.
build: Ignore iptables-unit and session-test in tools directory
iptables: Add __connman_iptables_dump()

In order to allow our test tool iptables-tests to dump a table
we need an dump function. The only user will be this tool. That allows
the linker to remove this code, so no additional code size.
iptables-test: Use iptables implementation from core

With the recent changes to iptables.c and the new API iptables-test.c
and iptables.c started to diverge and it is not really possible to
keep those two files in sync. Instead we start using the new API.

Unfortunatly, we need to partially parse argv and concatinate the rest
again together. This is ugly but not much we can do about it.
iptables-unit: Add debug option

It is impossible to see the normal unit test output with all
DBG() enabled by default.
iptables: Drop support for xtables < 1.4.11

The API changed between 1.4.10 (version code 5) and 1.4.11 (version code 6)
and we needed to workaround with a bunch of ugly ifdefs. 1.4.11 was
released on 26.05.2011 and even Debian testing ships 1.4.14 these days.
iptables: Use glib function for string operations

Streamline this file with the rest of ConnMan's code base.
iptables: Lookup in table hash before module loading

pre_load_table() is called always with table == NULL, we end up
keep trying to load the kernel modules even though the table
is already loaded. Therefore, move the lookup one level up.
iptables: Improve debug log output

We need to see a bit more in detail what happens when
CONNMAN_IPTABLES_DEBUG is not set, for example the removing/flushing
during bootup.

Also remove the DBG() from parse_rule_spec() because all callers
already have a DBG(). So not much additional information here.
iptables: Rename pre_load_table() to get_table()

The second argument is not used anymore, let's remove it. The funciton
name doesn't really match to its implementation, so it's also time
to rename it.
iptables: Fix invalid access to list after removing first rule

The list pointer is invalid after remove_table_entry(). Since
we entering the 'if' body only for the first rule in a builtin
chain we can safely update list to point to the next element.
iptables: Factor out duplicated update hook code

After removing one or more rules the builtin hooks need to be updated
accordingly. iptables_flush_chain() and iptables_delete_rule()
share a common code part.
iptables: Allocated memory blocks are already zerod out

entry_head and entry_return are allocated via g_try_malloc0().
neard: RequestOOB() method sends empty dictionary

Reported by Ravikumar Veeramally
test-ippool: Update unit test printouts
build: Run ippool test during make distcheck

test-ippool is a pure unit test can therefore be part of the
distcheck target.
iptables-unit: Check if rules are inserted/removed

Optionally use iptables-save to check if the rules are installed or
removed on the system instead of relying only on the returned iptables
error code.

Do notice that running tools/iptables-unit will modify and delete existing
iptables firewall rules on your system. Use iptables-unit with caution!