How to trigger reset at long press of button
You could use a RC delay circuit. 

A simple one is made out of a resistor and a capacitor. For example, charge the capacitor, attached to ground, through a pull-up resistor R1. Then discharge through another resistor R2 and the "long-press" reset button to the ground. The trick is to calculate the values of C, R1 and R2 to make the timings right, so that the capacitor slowly discharges to the digital zero threshold. Then the signal at the junction could be used for (inverted) reset signal. 

You could add an inverter to make the reset signal more robust.

Here is an online calculator to estimate the delays: http://ladyada.net/library/rccalc.html