I'd be livid too. And I would talk to your contact there and ask what exactly is taking so long. Tell them you really want to work for them but if it's not going to work out, you need to know asap because it's a loss of your valuable time (remind them you also spent 20 hours interviewing and you still don't know what's going on).
You have nothing to lose. Best case scenario they hire you sooner rather than later.
I have a friend going through the same thing. He basically asked them what exactly was taking so long. This is so ridiculous there is something they are not telling you. Are they waiting for some budget to be cleared? Are they interviewing other people? Something is going on.