How do I charge a lithium-ion battery from a solar cell
LT3652 is one of the best solar charge controller chip for small applications. It has inBuilt MPPT and Programmable Charge Rate Up to 2A with input voltage range of 4.95V to 32V (40V Abs Max)

there is a Sparkfun board called Sunny buddy which uses the same chip. Schematics and layouts are available.