Explore not using autoload.

I'm interested in what the consequences of avoiding autoload are. I believe this will help avoid having to load the Rails environment in some situations (like Rake tasks).

I also think that it's a good top-level indicator of coupling; every class that references a constant (e.g. another class) will typically have to require the file that defines that constant, giving a quick indication of how tightly coupled the class is - the more requires, the more coupled, maybe?
Avoid loading the Rails environment to import messages.

If we explicitly require everything that `AccountMessageImporter` needs, the Rails environment is unnecessary.

This doesn't have a *huge* speed impact at the moment, but it might as more is added to the Rails environment. Here are the current timings:

On master:
  bash-3.2$ time rake messages:import
  real	0m2.215s
  user	0m0.806s
  sys	0m0.204s

  bash-3.2$ time rake messages:import
  real	0m2.168s
  user	0m0.804s
  sys	0m0.211s

  bash-3.2$ time rake messages:import
  real	0m2.225s
  user	0m0.801s
  sys	0m0.206s

In this branch:
  bash-3.2$ time rake messages:import
  real	0m1.985s
  user	0m0.634s
  sys	0m0.147s

  bash-3.2$ time rake messages:import
  real	0m2.089s
  user	0m0.631s
  sys	0m0.151s

  bash-3.2$ time rake messages:import
  real	0m1.981s
  user	0m0.631s
  sys	0m0.151s
Don't load the Rails environment for unit tests.

This saves about half a second running `test:units`, and also seems to make individual test runs much faster. I think this is a reasonable bit of evidence that supports this approach.

Without Rails:

  bash-3.2$ time rake test:units
  Run options: --seed 27033
  # Running tests:
  ................
  Finished tests in 0.034680s, 461.3610 tests/s, 519.0311 assertions/s.
  16 tests, 18 assertions, 0 failures, 0 errors, 0 skips
  real	0m1.702s
  user	0m1.352s
  sys	0m0.328s

  bash-3.2$ time rake test:units
  Run options: --seed 3076
  # Running tests:
  ................
  Finished tests in 0.031297s, 511.2311 tests/s, 575.1350 assertions/s.
  16 tests, 18 assertions, 0 failures, 0 errors, 0 skips
  real	0m1.676s
  user	0m1.331s
  sys	0m0.329s

  bash-3.2$ time rake test:units
  Run options: --seed 21096
  # Running tests:
  ................
  Finished tests in 0.032150s, 497.6672 tests/s, 559.8756 assertions/s.
  16 tests, 18 assertions, 0 failures, 0 errors, 0 skips
  real	0m1.691s
  user	0m1.345s
  sys	0m0.327s

With Rails:

  bash-3.2$ time rake test:units
  Run options:
  # Running tests:
  ................
  Finished tests in 0.109018s, 146.7648 tests/s, 165.1103 assertions/s.
  16 tests, 18 assertions, 0 failures, 0 errors, 0 skips
  real	0m2.233s
  user	0m1.742s
  sys	0m0.472s

  bash-3.2$ time rake test:units
  Run options:
  # Running tests:
  ................
  Finished tests in 0.107512s, 148.8206 tests/s, 167.4232 assertions/s.
  16 tests, 18 assertions, 0 failures, 0 errors, 0 skips
  real	0m2.201s
  user	0m1.716s
  sys	0m0.469s

  bash-3.2$ time rake test:units
  Run options:
  # Running tests:
  ................
  Finished tests in 0.120568s, 132.7052 tests/s, 149.2933 assertions/s.
  16 tests, 18 assertions, 0 failures, 0 errors, 0 skips
  real	0m2.240s
  user	0m1.738s
  sys	0m0.473s
Test the Imap Cache without Rails.

Since the default argument for the ActiveSupport cache uses `Rails.root`, I've introduced a simple stub that replicates that behaviour. However, I wonder if it would be better to avoid using Rails in this argument completely - perhaps by having a method we control that can be stubbed in the test environment?