mmu: flush tlb lazily for cpus that are running system threads

Since OSv system threads do not access application's mmaped areas it is
possible to delay tlb flush on those cpus that do not run application
thread until next context switch time. This potentially avoids a lot of
IPIs in a workload that heavily uses mmap()/munmap(). This patch marks
threads that were created with pthread_create() as application threads
and add a logic int flush_tlb_all() to lazily flush tlb on a cpu that
runs non application thread. If non application thread does tlb flush
it happens eagerly, just like before.

Signed-off-by: Gleb Natapov <gleb@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>