Finding a lithium-ion or lithium-polymer cell is easy; many are available e.g. from discarded laptop batteries (often only one of the cell pairs is dead and the two remaining are okay, or the cells are just worn but still with enough capacity for less-demanding tasks).
Also, a good source of inexpensive Li-polymer cells is e.g. HobbyKing.
Such cells, however, usually come without protection circuits.
Charging solution is not so difficult; there are microprocessor-controlled chargers that can handle such batteries with ease. For embedded solutions, charging chips like e.g. MAX1555 are available and easy to use.
Discharging, however, is another beast. These batteries are highly sensitive to overdischarge. If the cell voltage drops below 2 volts, the cell becomes irreversibly damaged, or even destroyed.
An overdischarge protection is therefore necessary for reliable operation of such battery-powered devices. Such circuit should be extremely simple, cheap, made of easily available parts, and consume negligible current.
A very simple design can be made from a single power MOSFET. The gate characteristics is exploited here; the FET stays closed until the threshold voltage between gate and source terminals (Vgs) is reached, then gradually opens until the saturation is reached, then has negligible resistance (Rdson).
The Vgs-Rdson characteristics is exploited in this circuit.
The protection can be placed into the low side (between the circuit and the negative terminal of the battery), a N-MOSFET is then used. Or, when the high-side protection is desired, a P-MOSFET can be used. In the example, a N-MOSFET was chosen due to availability.
The undervoltage cutoff is usually about 2.5 volts for the common boards; in multi-cell batteries the lowest-voltage cell triggers the cutoff. The battery must not drop below 2 volts, and below about 3.3-3.5 volts it does not hold significant amount of energy anymore. This is a fairly wide range. Many FET types have the Vgs threshold-saturation range conveniently in this range. An IRF630 N-FET was chosen for its suitable voltage, relatively low cost, and immediate availability.
The FET is connected in the negative line. Its gate is connected via a 10kΩ resistor to the output of the first battery cell; the role of the resistor is to protect the battery in case of gate oxide breakdown, limiting the worst-case current to below half-milliamp - that may still discharge and destroy the one cell but it will at least not be a smoke-fire surprise. The other role of the resistor, in combination with the gate capacitance, is to smooth the transitions and prevent oscillations.
Use of the FET is not optimal; instead of a sharp cutoff the FET acts as a variable resistor, changing from 0.4Ω (fully open, sense-cell voltage over 3.2 volts) to infinity (cell voltage below 2.8 volts) over a range of resistances, potentially wasting energy and generating heat while gradually throttling down the available current as the cell voltage falls.
The location of the threshold voltage fairly high above the minimum, and even above the usually employed cutoff voltage, trades a relatively negligible amount of battery capacity for wider safety margin, as in multicell assembly the cells aren't usually created equal and the second and third cell's voltage could be lower than the sense-cell's one.
The gate threshold voltage and the saturation gate voltage determine the cutoff point for the battery. The FET has to be able to handle the maximum current of the application (plus some margin). The power rating has to be high enough to withstand power dissipation at the worst case (partially-opened FET under higher load); the FET's resistance together with the current-voltage characteristics of the attached circuit yields a graph of dissipated power in dependence on the remaining cell voltage. To account for this, suitable cooling has to be provided.
The circuit provides a gradual cutoff characteristics. The FET acts as a variable serial resistor, with value dependent on the cell voltage; zero resistance when the voltage is above the upper threshold, infinite when the voltage is below the lower threshold, and linearly-ish interpolated between these two points.
This characteristics has a potential advantage; the cell behaves "softer" at the almost-discharged condition, providing a behavioral indication that the end is near. This may be especially beneficial for applications like a LED flashlight, where diminishing brightness acts both as an imminent-death indication and for prolonging the battery life by lowering the discharge current, trading performance for remaining power-time.