Fix issue where the unsigned value used for the the map select budget could underflow
resulting in an unlimited budget
Changed m_mapSelectBudget and budget to be a signed integer
Added an assert that ensures that the remaining budget is between [0..m_mapSelectBudget]
Change the test for running out of budge to be a <= zero test instead of an equal zero test.
Fixed the bug in the handling of phiArgs in VNForMapSelectWork
by adding a check if we exceeded our budget when processing the first phiArg.
Added a define for DEFAULT_MAP_SELECT_BUDGET