In my opinion, all three requirements lead to the question of merging/joining contigs. Provided that the de novo assembler has done its best, there would be no de novo method to achieve the goals. The way out is to improve sequencing part by increase sequencing depth, sequencing quality, sequencing method, etc.
With that said, you can try trimming reads by quality/adapters, or/and loosen up de novo assembly parameters to let reads/and contigs find more bridging reads to assemble.
After the first writing of this answer, I found myself in need to do the similar work more frequently. And I found this tool SPAdes (http://bioinf.spbau.ru/spades) which works quite nicely for small genomes (and the tool aims at small genomes). It does error correction, de novo assembly, contig extension and scaffolding. I've also tried free versions of SSPACE and GAPFILL. Which also works alright, but only for contig extension. Still again, I did not manage to do in-depth verification to see if the contig extension step is actually doing it right and not introducing errors. The only indication is that BUSCO (http://busco.ezlab.org/) output is better. So if improving sequencing reads is not an option, I would recommend SPAdes and BUSCO.