Generalise determination of hacking directory path

Bash needs a special case to determine the dirname of the sourced path
(the hacking dir), but in all other cases, using $0 allows the script to
be sourced also from within the hacking directory, not only from its
parent.

Signed-off-by: martin f. krafft <madduck@madduck.net>
Expand usage synopsis

'source' is actually a "bashism" and the POSIX-way of sourcing a file
uses the single dot (which is arguably less readable). Both yield the
same result, and since the script may now also be sourced from
within the hacking directory, this commit expands the usage synopsis
accordingly.

Signed-off-by: martin f. krafft <madduck@madduck.net>

Conflicts:
	hacking/env-setup
Merge pull request #3209 from madduck/generalise-hacking-dir-path-discovery

Generalise hacking dir path discovery