I think it is a good idea to prepare an email and then send it out to a load of different mailing lists. At the same time the text that you prepare for the email can be added to the github readme files. Try to explain it from scratch to a person who has never heard of it before and decide what the most important things you want to communicate are.
it is good to have a first paragraph which if you only read that then you understand the most important part about your software
then you can have a longer section afterwards where you go into more detail. It is worth taking some time to do it well so that you generate interest. What about posting to reddit, dzone, slashdot and so on as well, maybe a couple of days after the email to the mailing lists.
I am really enjoying the chromebook OS. This is basically the old idea of using a browser to display all of the parts of an OS since the browser has very good graphics and is quick to develop on. I definitely think that you have enough really good ideas and pieces of technology to build your own OS. Just having phoenix browser and then ice tea / drag on compiler / packaging system is really good.
however the problem will be in supporting all of the various strange and weird hardware and odd things people do with their OS installing it onto stuff. Therefore I would suggest that you piggy back on top of someone else's OS so that they can cover the help and support of users for you.
Q1: I have not used icetea myself to give you a really good answer on this but I have written a lot of similar kinds of code in nodejs where you have a lot of async tasks and need them all to finish. I would suggest it is a really good idea to take some time and create a very good solution for this. If you just exit everything when a task returns and error then you will find cases where that is not actually what you want to happen, certain kinds of error may just be information or not actually relevant while others really are fatal. For nodejs there is something called promises where you can build up chains of dependencies. Basically I think you will want something like "try ... catch" where the catch gets run when you get an error and then you can choose if you want to exit the entire loop (i.e. this is fatal) or if you can carry on.
I like the idea of having 2 threads so that you get a report on what is happening, that is a really excellent feature.