Change preprocessor symbols guard to pragma once

As requested in #49
tests: Increase timeouts in write-and-read and big files tests

Increasing timeout allows these tests to pass when slow hard drive is used.
tests: Add pseudorandom number generator

This commit adds custom pseudorandom number generator in bash which can
have a seed set for making repetitive tests. The generator is
thread/process-safe ($RANDOM was failing in functions launched in background)
for making repetitive tests. Tests that are using a random generator were
made repetitive.

Closes #98
mount: Fix memory leaks and uses after free

Fix few small leaks and invalid uses of FUSE data structures.
Allows passing valgrind memcheck cleanly.
mount: Fix bug in writing data to chunkservers

Some tests indicatied, that the data is corrupted after writing it
to LizardFS. Indeed, there was a bug in the MultiBufferWriter class.
utils: Introduce wireshark plugin

This commit adds sources of a dissector of our protocol which
can be used with wireshark. The source code of this dissector
is generated automatically from comments in the MFSCommunication.h
file (to achieve this the file was slightly modified).
tests: Add expect_* and assert_* functions

This commit adds some useful functions which can substitute common
patterns existing in tests, eg:

if ! some_command [args]... ; then
  test_fail "blah blah blah"
fi
master: Fix segfault when unlinking files

When the master server starts with the empty filesystem it doesn't initialize
one of the lists properly. This issue causes a segfault when unlink operation
is performed shortly after starting the master server with empty metadata.
tests: Add test_compilation_and_rsync

This tests checks if it is possible to successfully use some common tools
on LizardFS. These tools include: git, cmake, g++, rsync.
tests: Fix bugs in test_compilation_and_rsync

This test suffered from two problems:
* git was failing beacuse it couldn't access configuration in /var/lib/jenkins
  directory using lizardfstest UID. I've added -H option to sudo to properly
  set the HOME environmental variable when running tests and modified
  setup_machine.sh to create the home directory for lizardfstest user.
* using 'wait' instead of 'wait <jobspec>' wasn't able to generate a failure
  visible for Jenkins; vide man bash: "If n is not given, all currently active
  child processes are waited for, and the return status is zero."
Merge branch 'master' of github.com:lizardfs/lizardfs
tests: Run all SanityChecks using ramdisk

This will speed up SanityChecks, and will allow us to extend our CI
by using virtual machines for SanityChecks.