Investigation and design of high efficiency carbazole-based sensitizers for solar cells: Effect of the nature and length of π-linker