vtimer: fix usage in test application
core/hwtimer: disable interrupts in hwtimer_remove

Before only the hardware timer's own interrupt was being disabled.
This led to a race condition in the following scenario:

```
Thread1:
    hwtimer_remove()
    hwtimer_arch_disable_interrupt();

// INTERRUPT -> Thread2 (which has a higher priority than Thread1) gets scheduled

Thread2:
    ...
    hwtimer_remove()
    hwtimer_arch_disable_interrupt(); // hwtimer interrupt is already disabled
    ...
    hwtimer_arch_enable_interrupt();
    ...
   // yield | terminate -> Thread1 gets scheduled again

Thread1:
    ... // these instructions are being run with the hwtimer interrupt enabled
    hwtimer_arch_enable_interrupt(); // hwtimer interrupt is already enabled
```

Fixes #924
make: make clean usable together with `-j`
buildtest: ignore empty folders

`compile_test.py` fails if there are empty folders in `/examples` or
`tests`. This is not a problem for Travis, because it always has a clean
repo.

For the average users there is a problem if they work on multiple
branches and one branch has new examples or tests. If they don't delete
the residual `bin` folders, then `compile_test.py` will print out these
applications as having failed.

This change checks for the existence of a `Makefile` in the application
folder. Also I added a progress indicator, because I like it. :)
core: prefix API functions correctly

Also changed names for bitarithm functions and rename thread_pid to sched_active_pid.
unittests: support Makefile.include in test suites

This change will pull in the `Makefile.include` for every test suite
that is compiled in.

Fixes #1205.
Merge pull request #1000 from OlegHahm/prefix_core_api_functions

core: prefix API functions correctly
documentation: fix doxygen for `pthread_*.h`

The pthread header files aren't in the doxygen page anymore after #1137,
because I `@file`'d the `.c` files, not the `.h` files.

This change moves doxygen boilerplate.

Closes #1199.
documentation: fix CMSIS doxygen for SAM3x8e
documentation: fix doxygen group for Z1
Merge pull request #1202 from OlegHahm/cortex_doxygen_cleanup

documentation: cleanup doxygen for SAM3x8e and Z1
Fix application name for test_bloom_byte application
Merge pull request #1212 from authmillenon/fix-application-names

Fix application name for test_bloom_byte application
msp430: workaround: define errno values if not provided by MSP430 lib
Merge pull request #1189 from Kijewski/compile_test-empty-folders

buildtest: ignore empty folders
Add TLSF (two level segregated fit) PKG

This is my second take on #669, because I was asked to separate it from #764.

This change adds a malloc implementation as a PKG, which uses *TLSF* (two
level segregated fit).

The patch file removes the 64bit capatibilities, debug functions, and the
option to have multiple "control blocks" (a control block holds multiple
memory pools). It wraps `malloc()` and friends in `disableIRQ() … restoreIRQ()`.

The implemention does not support 16bit platforms, yet, but probably only some
constants would need fixing. I limited the maximum size of a memory pool to
2**30 bytes = 1GB.

This PKG is not meant to be used by applicitions directly, but by the boards.
The board's initialition code needs to call
`int tlsf_add_pool(void *mem, size_t bytes)` for every free memory region it
has. If the board in using newlib, then this call needs to happen before the
first call to `puts`, `printf`, and friends, because newlib allocates the
control data IO streams (stdin, stdout, stderr) on the heap. Adding a small
(e.g. 1kB) pool before proper board initialization would be a possible solution.

Please read the additional information in the website of the implementator,
http://tlsf.baisoku.org/:

> TLSF (two level segregated fit) is a relatively new memory
allocator designed for embedded systems. It boasts constant
time O(1) malloc/free response time and a 4-byte block
overhead. Though it typically is slightly slower than other
allocators such as dlmalloc, it has no worst-case behavior.

> The original implementation, which comes alongside the white
paper, is distributed under the GNU GPL/LGPL. The code found
here is an original implementation, released into the public
domain, therefore is not subject to any licensing restrictions.

> Features:
 -  O(1) cost for malloc, free, realloc, memalign
 -  Extremely low overhead per allocation (4 bytes)
 -  Low overhead per pool (~3kB)
 -  Low fragmentation
 -  Compiles to only a few kB of code and data

> Caveats:
 -  Currently, assumes architecture can make 4-byte aligned accesses
 -  Not designed to be thread safe; the user must provide this

> Known Issues:
Due to the internal block structure size and the implementation
details of tlsf_memalign, there is worst-case behavior when requesting
small (<16 byte) blocks aligned to 8-byte boundaries. Overuse of memalign
will generally increase fragmentation, but this particular case will leave
lots of unusable "holes" in the heap. The solution would be to internally
align all blocks to 8 bytes, but this will require significantl changes
to the implementation. Contact me if you are interested.
native: set _native_pid correctly in daemon mode

This fixes a bug that leads to all unix sockets being created as
`/tmp/riot.tty.0`.
Merge pull request #1213 from OlegHahm/ubuntu_msp430_errno_fix

msp430: workaround: define errno values if not provided by MSP430 lib
Merge pull request #1216 from LudwigOrtmann/issue-1215

native: set _native_pid correctly in daemon mode
Merge pull request #1208 from Kijewski/issue-1199

documentation: fix doxygen for `pthread_*.h`