What is being requested is very well documented and widely available for DIY, and following Instructable links are examples of that.
In fact there are several questions on EE.stackexchange site, which are currently appearing on the right side panel, as I type this answer.
Check your favourite online/offline store and you'd find semi-flexible solar panels, in various dimensions. They claim to be flexible to 20-30 degrees, and could be quite fine for the messenger bag.
They key would be selection of a good solar panel -- since there can be some significant difference in energy efficiency between panels, i.e. the extent to which they can convert the sunlight into electrical energy.
Also note that, not all smartphones charge / charge-well with the standard USB charging, i.e. they make proprietary deviations from the standard, and can expect to be able to draw (much) more than 500mA @ 5V.
PS> I wanted to put this as a comment, but unfortunately, I still don't have enough reps to do anything like that. Surprisingly, I am allowed to post this as an answer.
The LTC1760 is an all-in-one device. This means that you will want to look at board size, parts cost and engineering costs of both options to determine if you want to use it or not. If you have very low volumes, the engineering costs will dominate. In any case, the chip has three main functions:
(1) Combine power sources.
Since you only need to switch about 1A, you may use diodes for that. Use shottky diodes if you can tolerate inefficiencies, or use 'ideal diodes' such as LTC4358. If your DC input is higher that battery charging voltage, you will not need any sort of smart switching/control -- the diodes will close when external power is applied.
(2) Charge the batteries
For the simplest solution, give each battery its own charger circuit. If you want to be more fancy ('I want to fully change one battery before switching to the next one'), add dual MOSFETs or use 'enable' input on chargers.
(3) Control everything from Smbus/I2C
This may be the most important part. If you have a big CPU and few GPIOs available, the LTC1760 is better, as it will only require a single I2C bus and contains both mosfets and drivers for them. If you have a small microcontroller, it may be easier for you to avoid un-needed I2C programming by controlling power switching directly.
This brings us to the last point -- how much controllability do you need? If you want to control every aspect of the system (which battery do I discharge first? This DC adapter can only provide 20W, so do not charge all batteries at once. etc...) then LTC1760 is better.
If you just want all functions to be automatic ('We discharge the battery with higher voltage. We change when the device is plugged into the wall'), stick with more discrete solution and save yourself work of programming firmware.
Finally, the smart batteries are great if your project can afford them. I have been using inspired energy ones just as regular packs -- discharge directly, charge with CC/CV charger. They are great because they provide safety cut-off, and because they provide easy-to-use metrics on smbus interface such as 'capacity left' and 'time to full discharge'
Best Answer
It's not too hard to design, as a computer controlled switchmode power supply. But it will be more expensive than just buying one of each kind of charger, and if you want to deliver 15V @10A (for charging the car battery) it will be quite bulky.
The key issue is that switchmode devices control output power by varying the pulse width. If you have 100% duty cycle corresponding to 150W (for the car battery) then the <1W for the AAA battery will be <1% duty cycle: a series of very narrow pulses widely spaced. That's bad for precision.
Then there's the safety issue. If you configure it for 12V @ 10A and plug it into the 1.2V AAA battery you'll have a nasty fire on your hands.
Charging just 3.6V (phone, 18650 cells) and Nicad/NiMH is a more reasonable prospect. Don't forget to build battery simulators for the three types before testing with actual batteries, so the inevitable bug in the design doesn't do damage.