Structure directory change and first approach of the client API

I changed the structure of the project because I think that it is
robuster to future changes which require new packages that make sense to
keep in the same repository.
I've also made a refactoring on connector interface after I play with
golang and I've been able to understand how to deal interfaces and
structs whose content is unknown and I realised that it is not possible
to return as pointers and make a type assertion to a map which allows to
iterate over the keys and getting their names, so it is not good idea
return a reference on a function which specify an interface{} as return
value and make a type assertion of it to a pointer map.

On the other hand, I removed some files to add them again later on, to
avoid noise in the repository in this initial stage