The salt adds flavor, but it also helps reduce the gelation of the starch in the pasta. The starch in food is the form of microscopic grains. When these grains come into contact with water, they will trap some of it (think cornstarch in cold water), but when the water is hot they swell up like balloons and merge with each other, and you have starch gelation.
Another thing you may want to add to the pasta water is some acid (lemon or cream of tartar). Tap water in most cities is made alkaline, which increases the starch loss from the pasta to the water, making the pasta stickier.
Al dente cooking is a transitional state that lasts for a very short amount of time (one minute longer in boiling water makes pasta too soft, one minute shorter and it's still crunchy). For this reason, authentic Italian pasta packages state a precise cooking time, which is very reliable to make a good al dente pasta.
A cooking time interval (e.g. "7 to 10 minutes") is usually given to accommodate to other countries taste, who may prefer a softer pasta, and therefore its presence could be a good indicator of an Italian look-alike pasta brand. In this case the lower figure indicates the al dente cooking.
Lacking this information, a good cooking time can be figured by cross section size, length and shape of pasta: obviously, thicker and squat formats require more time. Complex shapes, such as farfalle, can be trickier because a thick core could reach the al dente cooking while the thinner edges are already too soft.
As a rule of thumb, cooking times for common pasta formats are:
- Long and very thin (spaghettini, bavette): 6 min
- Long and thin (spaghetti, linguine, bucatini): 8 min
- Short and thick (maccheroni, rigatoni, fusilli): 12 min
- Small and thick (farfalle) : 8 min
- Small and thin (pasta usually boiled straight into broth): 6 min
These cooking times apply only for dry durum-wheat pasta; other types (such as fresh egg pasta) usually have a shorter cooking time.
After straining the boiling water, pasta continues to cook by its own heat; for this reason it has to be eaten as soon as possible. Only for some Italian regional recipes (typically pasta boiled straight into a thick vegetable juice, e.g. pasta with beans, pasta with potatoes) you may want to let it rest for up to 5 minutes after straining to let the juices coagulate.
Also, for recipes where pasta has to undergo a second cooking after boiling (e.g. stir frying in a pan with vegetables, shrimps, mushrooms, etc.) a better result is obtained by boiling pasta just one minute less than the cooking time given on the package.
Best Answer
Refrigeration does not improve pasta texture; on that front my advice is to cook only as much as you are going to eat each time.
Other than that, it sounds like you are overcooking the pasta, so "when you judge it done" appears to be in error, and you should alter your judgement to an earlier point if you find the pasta too wet/soft they way you have been doing it. The time needed varies depending on the shape. When it is done it should be removed from the water (or the water removed from it) immediately.
I find no benefit to adding oil to the water - save the oil for adding just after it's been drained if you want it to do something useful.