Make/Use an argument parser for builtin commands
Created by: skylerberg
We don't want each and every builtin command to have it's own argument parsing logic. Let's make a standard way for them to declare what they need and a standard way to parse them from a list of arguments.