As for how to run the three separate nodes, to build off of adrian's answer you could use the following options when running the node:
/home/tezos/tezos_mainnet/tezos-node run --data-dir /home/tezos/.tezos-node --rpc-addr 127.0.0.1:8732
/home/tezos/tezos_alphanet/tezos-node run --data-dir /home/tezos/.tezos-node-alpha --rpc-addr 127.0.0.1:8733
You are probably connected to very few nodes, some of them very slow. You get timeouts while synchronizing the chain. Since there are very few nodes participating on Zeronet, and probably running on second-class servers, it is probably normal.
You can use the Faucet, as described in the documentation here :
go to https://faucet.tzalpha.net/
get a faucet file tz1__xxxxxxxxx__.json
Activate it using tezos-client activate account alice with "tz1__xxxxxxxxx__.json"
transfer or delegate the fund to your baker ...
Yes it is possible to run all three at the same time on the same machine.
You have to ensure that they each have a different directory. Furthermore you need to configure the ports in the config files so that they don't clash.
AFAIK a restriction in Athens is that a bigmap must be first element in the storage definition. Thats why KT1JPvBo4Sv7n1WDzcKWEXTVRDU9HQhaZdzd does not have a bigmap but KT1EMy5cDrUQgNYZgtN4wX2n39MBqHGQQCiK does. If you use type big_map somewhere else it gets translated into a regular map.