Solvent-dependent moulding of porphyrin-based nanostructures: solid state, solution and on surface self-assembly