forethinker

Noun

 * 1) One who thinks ahead, or plans things in advance.