bit.ly and many other link shortener services will perform a 301 redirect to the destination page and will pass the referrer (if available). If somebody clicks your bit.ly link from their twitter feed on the twitter.com web site, then twitter.com/referrer will be the source/medium. But if somebody clicks a bit.ly link from a non-browser interface (i.e. desktop Tweetdeck or Outlook Express email) then no referrer info is passed in the headers, resulting in a 'direct/(none)' for the source/medium since GA couldn't identify a specific source.
As lhutt mentioned, you can use GA campaign tagging to specify campaign information. You can use Google's URL Builder to create campaign tagged URLs for GA:
http://www.google.com/support/analytics/bin/answer.py?answer=55578