covering spaces and the fundamental groupoid
Solution 1:
I think the most natural way of doing this is to define first a covering morphism $p: Q \to G$ of groupoids; the definition is essentially unique path lifting: more specifically, we require that if $x \in Ob(Q)$ and $g \in G$ has source $px$, then there is a unique $h \in Q$ with source $x$ such that $p(h)=g$. There are several main results:
A covering map of spaces induces a covering morphism of fundamental groupoids.
The category of covering morphisms of a groupoid $G$ is equivalent to the category of actions of $G$ on sets.
If $X$ is a space, and $q: Q \to \pi_1 X$ is a covering morphism of groupoids, then under certain local conditions on $X$ there is a topology on $Ob(Q)$ such that the map $Ob(q)$ becomes a covering map and ...(I'll leave you to fill in the rest!).
This treatment was in the 1968, 1988 editions of my book which is now available as Topology and Groupoids. The nice point is that a map of spaces is well modelled by a morphism of groupoids; this is convenient for questions on liftings. Also, under the right local conditions, you get an equivalence of categories from covering spaces of $X$ to covering morphisms of $\pi_1 X$.
This is also an introduction to the useful notion of fibration of groupoids.
I think I should mention that the book also has a treatment of orbit spaces and orbit groupoids, which you won't find elsewhere.
Later: A related use of covering morphisms of groupoids is in the paper:
J. Brazas, "Semicoverings: a generalisation of covering space theory", Homology, Homotopy and Applications", 14 (2012) 33-63.