Use JSession to get the session ID

This moves the session_id function out to be a part of JSession. This is important for keeping all data in our session class

### Test
Check the method addUserToGroup works as expected. Note the unit tests still pass for this method

@mbabker Not sure about swapping ```JFactory::getUser``` to ```JUser::getInstance``` in the last commit of the 3. Kinda worried about any implications. I'm pretty sure it doesn't need the session dependency there though - the stored instances are in ```JUserHelper::$instances```