Vala unit tests

This is WIP, I created the PR only for discussion/feedback, nothing to merge yet.