allow custom pytype return values

this extends `pytype_query()` to allow the user to add custom type mappings.

example usage (based upon SymPy):
```julia
type Sym
     x::PyCall.PyObject
end
Sym(s::Sym) = s
convert(::Type{Sym}, o::PyCall.PyObject) = Sym(o)
PyCall.pytype_query_add(sympy.basic[Basic], Sym)
```

note: I see this would address item 3 in #9