Add new helper: remote_build

Being able to build test binaries from test cases is a neccessity, but
it incurrs lots of complexity in said test case. To avoid this
complexity, and to make it possible to implement build avoidance, split
this functionality into a separate class.

Notable requirements/changes:
- To separate binaries built with different CFLAGS, Builder creates
  separate directories for each make_flags combination on target
- Test applications built with this class require a Makefile. To pass
  specific compiler flags from the configuration, let the user specify
  arguments to the make process via the make_flags parameter, e.g.
  Builder( ... make_flags="CFLAGS='-g -O3'")
- Symlinks in the source directories are not copied to the target. There
  does not seem to be a need for this, and it made the implementation
  simpler.

Signed-off-by: Jonas Eriksson <jonas.eriksson@enea.com>