README: Update README.{build,config} files.
config: Refactor code related to configuration building.

Make it easier to find where dependencies are handled also
split dependency calculation from config generation.
config: Add infrastructure to handle USE_FLAGS.

This is preparation for moving all config related tasks out
of Makefile. When config.sh knows about USE_FLAGS passed to
make it can create config.mak which contains full build configuration.
build: Collect USE_xxx flags in single variable.

Now we can pass USE_xxx flags to config.sh and as a bonus show
the used flags in build info banner.
build: Move config handling out of Makefile into config.sh

- Remove config handling from Makefile allowing further simplifications.
- Now config.mak would contain full build configuration.
- Improve dependency handling since we know the USE_FLAGS.
build: Create config.mak in OBJDIR instead of source directory.

Now that config.mak contains full build info (CONFIG + USE_FLAGS) in
order for parallel builds with different USE_FLAGS to work, we have
to move config.mak in OBJDIR instead of creating it within source
directory.

This allows parallel builds from single source tree with different
USE flags.
build: Refactor initialization of USE related variables.

Replace copy & paste with function that does all the initialization
thus removing ~50 lines from the Makefile. In the future USE_FLAGS
can be added with just single line (minus the help text of course).
build: Embed full config into OSCam binary.

Once upon a time (before r6803) it was possible to see what OSCam
features are build into the binary by using `strings` command on
the binary. After r6804 this was no longer available.

Now that we have full build configuration in config.mak we can embed
this file into OSCam and get even better build information distributed
along with the binary.

The goal is to be able to extract the build information from the
binary without running it (just by using `strings` and copy+pasting
simple instruction contained in the resulting text).

Currently config.mak in default build is ~1.4Kb which will only grow
in time, so directly embedding this would not be a good idea. Also
directly embedding config.mak without any preprocessing would make it
harder to extract the info with simple shell commands.

So the build system gzips config.mak, base64 it, adds extraction
instructions and embeds the resulting text in oscam binary. To see
the embeded config run `strings oscam_binary`. You'll get something
like this:

{{{
...
CFG: strings FILE | grep ^CFG~ | sed -e 's/^CFG~//' | openssl enc -d -base64 | gzip -d
CFG~H4sIAO2cJFECA32UQXLkIAxF9zlFqnKCTCqp2WQhCxmrgoEC3O7OhhtkP7cf7O6O
...
}}}

To see the contents of config.mak that was used in the build, run the
command you see in CFG: line or use `devtools/extract_config.sh` which
does the same as the command you see in CFG: line.

Now that we have full build info in the binary we can remove the code
that tries to show build information in oscam help text. By doing that
we get even smaller binary file than before the full config was embedded
(on 32bit x86 ~120 bytes). To see human readable build information you
can use `oscam --build-info` or `oscam -V` (this shows the contents
of oscam.version file generated on OSCam startup).

cmake build also works but since cmake doesn't pass USE_FLAGS to
config.sh the resulting config.mak is missing information.

Finally this commit closes ticket #3153.