Persistent contexts between reconnections

Allow to have a context object where to store some persistent data between reconnections. By default it's only storing the created connection, so the next time a reconnection is done, ```createConnection``` function can access to this persistent context on ```this``` and the previous connection on ```this.prevCon```, so user can copy buffers between them or do other things in a transparent way.