How can I control many LEDs with just a few pins on my micro?
There are several methods which can be used to drive large numbers of LEDs from a few IO pins.  

The simplest is standard row/column display multiplexing.  With this technique, you can drive \$( n / 2 )^2\$ LEDs with \$n\$ IO pins. Mathematically, the duty cycle is:

$$\frac{1}{minimum(\text{unique row patterns, unique column patterns})}$$

This means that this technique has a duty cycle of 100% when all LEDs are lit (or all rows or all columns are identical) and a duty cycle of \$1 / n\$ when a diagonal line needs to be lit (or all the rows are different).  You're only guaranteed 100% duty cycle when lighting every LED or one LED (or zero LEDs, but that doesn't really count for much). 

Slightly more complex is Charlieplexing.  With this technique, you can drive \$n^2 - n\$ LEDs with \$n\$ IO pins. Only \$n - 1\$ LEDs can be lit simultaneously with this technique.  Mathematically, the duty cycle is:

$$\frac{1}{\text{minimum simultaneous sets}}$$

where a simultaneous set is a unique group of LEDs which has a common anode or common cathode.  (This hasn't been proven, it's just what I arrived at after pondering the problem for a minute.  If duty cycle is important to you, you'll want to look into this further.) This is a much more complex calculation both intellectually and computationally than the equivalent calculation for standard multiplexing.  Effectively, you get a duty cycle of \$1 / n\$ when all LEDs are lit but some (only some) patterns of n-1 or fewer LEDs can have a duty cycle of 100%.  You're only guaranteed 100% duty cycle when lighting 1 LED.

The last method I'll mention is to use a shift register or IO expander.  With two pins (Either the raw data/clock interface, I2C, or unidirectional SPI), you can control an arbitrarily large number of LEDs. The duty cycle for any pattern is 100%, but the update rate is inversely proportional to the number of LEDs.  This is the most costly method.  For 15 LEDs, it will probably be cheaper to just upgrade to a micro with that many IO pins.