supports #75152130, allowing to have a required block of A or B

![image](https://cloud.githubusercontent.com/assets/1767466/3726800/f484eaf4-1696-11e4-946d-cd46d1c754e1.png)

Create a new Pick One block, meant only for level builder required block use.  This supports us being able to say "user must use Block A or Block B".  This is something that we did in code in various places in the hoc and 20hr courses. If either block exists, we show no feedback.  If neither exists, we show the first block as feedback. I'll still need to manually go and add Pick One's to the levels that need it.

I also found a nasty bug where we were using "i" from the global scope.  This meant that we weren't properly comparing children, and would consider "if (nectar > 1)" and "if (nectar == 1)" to be equivalent.  I'm a little bit surprised that this isn't something jshint caught for us.
If we end up doing something like this again, we could extract a utility that splits a block "linked list" into an array, removing the `<next/>` fields as you do here. The testsFromPickOne method could then become something like `return _.map(blockListToArray(headBlock), createTestFromBlock)`