objects: Give objectlist a grown-up unique API

Grown ups don't use size as an argument when comparing objects - they
use callbacks, optionally with extra-arguments for helping the callback
deal with things. This way, their APIs can be reused by other parts.

In order to make things even more mature, add some big-boy
documentation, so it's possible to figure out how to use it without
reading the source.

Now, if you excuse me, I'm going to go home to amortize my mortgage.

Change-Id: I0bdab0d052b30664f4f83eb2fb5ba497d50a9834
Signed-off-by: Robin Sonefors <robin.sonefors@op5.com>
configuration: Fix include file/dir error handling

First, including the same file twice is now an error. Including a dir in
one file and a specific file inside that dir in another is not an error,
though. This helps prevent recursive include chains. I'm open to the
suggestion that this should merely be a warning, as long as it's
handled.

Second, errors are now reported properly - we must break for the error
to be printed properly with line information, and for the parsing to
bail out.

Change-Id: I8bdfef20f7d9d220a11636a948995c127aacd708
Signed-off-by: Robin Sonefors <robin.sonefors@op5.com>