Properly pre-parse args and kwargs (2014.1 branch)

**Note: This should be merged only after the v2014.1.1 tag is created.**

This adds in some fixes from develop, as well as some missing commits that didn't make their way into 2014.1.0, that change how kwargs are parsed. This will likely still be refactored a bit in the coming weeks.