Make launch script more resilient

Fixed quoting so that the script can launch Tribler when there are
spaces in the path to the script. To see the problem without the patch,
try this scenario:

git clone --recursive https://github.com/Tribler/tribler.git "tribler repo"
cd "tribler repo"
./tribler.sh

Changed to sh instead of Bash since no Bash features were being used and
sh is more portable.
In my testing I could not find a case where $(dirname $(readlink -f $(which "$0"))) would ever do anything useful. In cases where tribler isn't in PATH it would return either the same result as $(dirname "$(readlink -f "$0")") or just ".", and in cases where tribler.sh is in PATH it returns the same results as $(dirname "$(readlink -f "$0")").

wedge@tribler:/tmp/foo$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
wedge@tribler:/tmp/foo$ cat testscript
#!/bin/sh
echo "$(dirname "$(readlink -f "$0")")"
echo "$(dirname "$(readlink -f "$(which "$0")")")"
wedge@tribler:/tmp/foo$ ./testscript
/tmp/foo
/tmp/foo
wedge@tribler:/tmp/foo$ sh testscript
/tmp/foo
.
wedge@tribler:/tmp/foo$ cd ..
wedge@tribler:/tmp$ ./foo/testscript
/tmp/foo
/tmp/foo
wedge@tribler:/tmp$ cd ~
wedge@tribler:~$ /tmp/foo/testscript
/tmp/foo
/tmp/foo
wedge@tribler:~$ cd /tmp/foo/
wedge@tribler:/tmp/foo$ export PATH=$PATH:/tmp/foo
wedge@tribler:/tmp/foo$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/tmp/foo
wedge@tribler:/tmp/foo$ testscript
/tmp/foo
/tmp/foo
wedge@tribler:/tmp/foo$ sh testscript
/tmp/foo
/tmp/foo
wedge@tribler:/tmp/foo$ cd ..
wedge@tribler:/tmp$ testscript
/tmp/foo
/tmp/foo
wedge@tribler:/tmp$ cd ~
wedge@tribler:~$ testscript
/tmp/foo
/tmp/foo
wedge@tribler:~$


If I've missed a situation where "$(dirname "$(readlink -f "$0")")" fails and $( dirname $(readlink -f $(which "$0"))) succeeds I'll be happy ammend the PR to put it back.