Add meram_lock_memory_block and meram_unlock_memory_block

These functions can be used for sharing a partial region of MERAM
exclusively between multiple tasks, or declaring regions reserved
by others, such as kernel drivers.

This requires the uiomux_mlock()/uiomux_munlock() implementation
in libuiomux.

---
Change since v1
* changed unit of the parameter 'size' from 1B to 1KB.
Lock an ICB slot actually by meram_lock_icb() and add meram_lock_trylock_icb()

This changes the behavior of meram_lock_icb() for sharing MERAM
between applications. meram_lock_icb() should acquire an exclusive
lock for a specified ICB slot and wait until available if it is
busy.
This also adds a new API 'meram_trylock_icb' to lock an ICB slot
only if it is free at the time of invocation. The new api may
be useful to look for an unused ICB.

Unfortunately this is preliminary and the exclusive lock
acquired by meram_lock_icb() must have effect only in a process.
Merge pull request #1 from matsu/master

Pull request for libshmeram