kdb: avoid duplicated ifdef
kernel: always use build.mk for configuration selection
platform: validate configurations according to build.mk
platform: drop unused macro DEVICE_IRQ_HANDLER
user: initial migration to libl4
platform: apply cflags += -mno-sched-prolog -mno-unaligned-access

From GCC manual,

-mno-sched-prolog
  Prevent the reordering of instructions in the function prologue, or the
  merging of those instruction with the instructions in the function's
  body.  This means that all functions start with a recognizable set of
  instructions (or in fact one of a choice from a small set of different
  function prologues), and this information can be used to locate the
  start of functions inside an executable piece of code.

-mno-unaligned-access
  Disables reading and writing of 16- and 32- bit values from addresses
  that are not 16- or 32- bit aligned.
include: fix KProbes function prototypes
Fixes r4 corruption in schdule_irq while gcc "-O0"

Fixes #31
apply strict compilation flags and fix function prototypes

Several functions in server/ were not specifying an argument list,
ie they were declared as void foo(); When compiling with -Wstrict-prototypes,
this leads to:
  platform/stm32f4/rcc.c:19:6: error: function declaration isn't a prototype
Merge pull request #35 from arcbbb/master

fixes issue #31
Makefile: scan mk/rules instead of hard-code

Fixes #33
Makefile: improve parsing for include/config.h

Fixes #34
kconfig: fork mconf source from olibc

Added from commit 424a2e4 of https://github.com/olibc/kconfig
with the following commit reverted

-----------------------------------------------------------
commit e9eb3dd3b239ea10ed34cc8566ebb5bb5b37f8d0
Author: Kito Cheng <kito@0xlab.org>
Date:   Tue Jun 11 22:56:50 2013 +0800

    Output boolean value '=true' instead of '=y'
-----------------------------------------------------------
kconfig: fix naming from olibc to F9 microkernel
mk: add kconfig support

new makefile target:
  1. config: parse Kconfig and introduce config menu
  2. distclean: clean project, then clean config files
kconfig: naming tweaks
variable name tweaks
rename external
kconfig: rename environment variables
kconfig: add CONFIG_ head back