Improved Arrow / Item movement
Added extra documentation to Level::setBlock()
Possible fix for #2041
Do not report E_PARSE or E_COMPILE_ERROR crashes
Improves server ticking.

As I was lying in my bed, I came to a solution for the tick problem.
While remembering how most of the time the server is sleeping,
and how the TPS drops once costly operations are ticked,
I reviewed mentally that part of the code, Server::tick().

Then I saw it: I was setting the next execution time
using the time after it was executed as the base, but it should
have been done using the tick start time - that way if something takes
longer, the server will catch up and won't drop the TPS
until the CPU hits its limit.

I got up, got to my computer, and checked that function.
It was exactly as I saw in a near-dream state, so I fixed it
and tested things if they worked right.

Now I'm fully awake and I can't sleep anymore, so I wrote this.
Fixed Server::getTicksPerSecond()
Possible fix for level save issues, related to #1985 #1982 #1758
Fixed #2052
Implemented Falling Sand
Fixed possible Player crash on save
Fixed Level::setBlock() old calls
Added cactus neighbour block check
Implemented attack cooldown
Fixed HeldItem were swapped in mining
Fixed Player's slot[0] disappears on loging in
Fixed wrong cases

I know this doesn't matter at all, but it is ugly in IDEs.
Merge pull request #2064 from PEMapModder/patch-2

Fixed wrong cases
Implemented basic Travis-CI test
Merge branch 'master' of github.com:PocketMine/PocketMine-MP
Added --disable-readline CLI argument