Added the ability to supply config keys on mount

Should be especially useful for augeas, e.g.: `kdb mount /etc/hosts system/hosts augeas lens=Hosts.lns`

As always: my c++ knowledge is limited, so please be strict in your review :)
I would need to declare the sstream without initializing it because it has no empty constructor but the parameter needed for construction is not ready yet. Unfortunately I also canot move it to the block where the parameter lives because the variable is needed in an outer scope afterwards. I could merge the two ifs (the first one and the one in the while loop), but that would mean duplicating the while loop and the key construction at the end of the while loop for each if path. 

I read about this problem and most people suggested using a pointer, a few suggested using the extern keyword. I struggled a while and eventually chose the unclean heap solution.
What is your opinion about this problem? Is there any clean way to avoid it (without code duplication in this concrete example)?