New pull request for ARC support

Here's the pull request reworked on a new repo. I updated other code that was changed since the last time I did this.

NOTE: I have not been able to get GHUnit working locally so I have not yet run the unit tests