VeriThoughts: Enabling Automated Verilog Code Generation using Reasoning and Formal Verification